Como definir o valor padrão para C# propriedade ou C# propriedade implementada automaticamente
C# propriedades ou propriedades implementadas automaticamente são amplamente utilizadas em nossas classes no lugar de campos, ou seja, variáveis.
As propriedades auto implementadas são introduzidas em C# 3.0.
Neste tutorial, aprenderemos 4 maneiras diferentes de definir o valor padrão para as propriedades C# usando exemplos simples.
- Usando Auto-Property Initializers em C# 6
- Atribuir valor padrão no construtor
- Usando C# Property Setter
- Usando
DefaultValue
Attribute && Property Setter
Podemos assumir o valor padrão como valor inicial da propriedade em C#.
Método 1 : Usando Auto-Property Initializers em C# 6
Em C# 6 podemos declarar a propriedade auto-implementada e definir o valor padrão em uma declaração de linha única.
A sintaxe é
class Product{
public string Name {get;set;} = "";
}
Por padrão, as propriedades da string terão o valor null
, Ao usar C# 6 declaração em linha, estamos definindo o valor padrão como string vazia.
Método 2: Atribuir valor padrão no construtor
Nas versões anteriores de C#, C# 5 e abaixo é uma boa prática definir valores padrão de propriedades de C# no construtor da classe.
class Product
{
public string Name { get; set; }
public Product()
{
Name = "";
}
}
Método 3: Usando C# Property Setter
Podemos fazer uso de C# property setter para atribuir um valor padrão às propriedades implementadas automaticamente.
class Product
{
private string _name = "";
public string Name {
get { return _name;}
set { _name = value;}
}
}
método 4: Usando DefaultValue
Attribute && Property Setter
No exemplo acima, criamos uma variável privada e atribuímos um valor padrão.
Em vez disso, podemos usar o atributo DefaultValue
para atribuir valor padrão.
class Product
{
private string _name;
[DefaultValue("")]
public string Name {
get { return _name;}
set { _name = value;}
}
}
Lembrar DefaultValue
atributo só funciona com o property setter.
O código abaixo não atribuirá valor padrão ao imóvel. O valor padrão ainda é null
.
public class Product
{
[DefaultValue("")]
public string Name { get; set; }
}
Se você estiver usando o atributo DefaultValue
, você deve usar o property setter.
Sumário
Se você estiver usando C# 6 use a declaração em linha para definir o valor padrão para C# propriedades, outros valores padrão no construtor.