
C# Constructores con cuerpo de expresión
¿Has escuchado hablar de los Constructores con cuerpo de expresión (en ingles Expression-bodied Constructors) en C#?
Si no es así, ¡no te preocupes! Te lo explico de manera sencilla.
Los Expression-bodied Constructors te permiten simplificar la creación de constructores en tus clases, haciendo tu código más limpio y conciso.
Vamos a crear una clase simple llamada Person
con dos propiedades: Name
y Age
.
public class Person
{
public string Name { get; }
public int Age { get; }
}
Normalmente, agregaríamos un constructor de esta forma para asignar estos valores:
public class Person
{
public Person(string name, int age)
{
Name = name;
Age = age;
}
public string Name { get; }
public int Age { get; }
}
Con los Expression-bodied Constructors, podemos simplificarlo:
public class Person
{
public Person(string name, int age) =>
(Name, Age) = (name, age);
public string Name { get; }
public int Age { get; }
}
Los Expression-bodied Constructors nos permiten escribir nuestros constructores como una expresión. Esto facilita la lectura y comprensión de la asignación de propiedades.
No afecta el rendimiento ni el uso de memoria, ya que el compilador lo convierte en asignaciones regulares así que el rendimiento o la memoria no sufrirán.
Utiliza Expression-bodied Constructors cuando tengas asignaciones simples. Para lógica más compleja en el constructor, es mejor usar el formato tradicional.