Cómo establecer el valor por defecto a C# propiedad o C# auto implementado propiedad
C# las propiedades o propiedades auto implementadas son ampliamente utilizadas en nuestras clases en lugar de campos, es decir, variables.
Las propiedades auto implementadas se introdujeron en C# 3.0.
En este tutorial vamos a aprender 4 maneras diferentes de establecer el valor predeterminado de C# propiedades utilizando ejemplos sencillos.
- Uso de Inicializadores Automáticos de Propiedades en C# 6
- Asignar valor por defecto en el constructor
- Utilización del definidor de propiedades C#
- Usando
DefaultValue
Attribute && Property Setter
Podemos asumir el valor por defecto como valor inicial de la propiedad en C#.
Método 1 : Usando Inicializadores Automáticos de Propiedades en C# 6
En C# 6 podemos declarar la propiedad auto-implementada y establecer el valor por defecto en una sola línea de declaración.
La sintaxis es
class Product{
public string Name {get;set;} = "";
}
Por defecto, las propiedades de cadena tendrán el valor null
, utilizando C# 6 declaración en línea, estamos estableciendo el valor por defecto como cadena vacía.
Método 2: Asignar valor por defecto en el constructor
En las versiones anteriores de C#, C# 5 e inferiores es una buena práctica establecer los valores por defecto de las propiedades C# en el constructor de la clase.
class Product
{
public string Name { get; set; }
public Product()
{
Name = "";
}
}
Método 3: Utilizar el definidor de propiedades C#
Podemos hacer uso de C# property setter para asignar un valor por defecto a las propiedades auto implementadas.
class Product
{
private string _name = "";
public string Name {
get { return _name;}
set { _name = value;}
}
}
método 4: Usando DefaultValue
Attribute && Property Setter
En el ejemplo anterior hemos creado una variable privada y le hemos asignado un valor por defecto.
En lugar de eso podemos usar el atributo DefaultValue
para asignar un valor por defecto.
class Product
{
private string _name;
[DefaultValue("")]
public string Name {
get { return _name;}
set { _name = value;}
}
}
Recuerde DefaultValue
atributo sólo funciona con la propiedad setter.
El código de abajo no asignará valor por defecto a la propiedad. El valor por defecto sigue siendo null
.
public class Product
{
[DefaultValue("")]
public string Name { get; set; }
}
Si está utilizando el atributo DefaultValue
debe utilizar la propiedad setter.
Resumen
Si utiliza C# 6, utilice la declaración en línea para establecer el valor predeterminado de las propiedades de C#. De lo contrario, establezca el valor predeterminado en el constructor.