Hoe standaardwaarde instellen op C# property of C# automatisch geïmplementeerde property
C# properties of automatisch geïmplementeerde eigenschappen worden veel gebruikt in onze klassen in plaats van velden, d.w.z. variabelen.
Automatisch geïmplementeerde eigenschappen zijn geïntroduceerd in C# 3.0.
In deze tutorial leren we 4 verschillende manieren om standaardwaarden in te stellen op C# properties aan de hand van eenvoudige voorbeelden.
- Automatisch geïmplementeerde eigenschappen gebruiken in C# 6
- Standaardwaarde toewijzen in de constructor
- C# Property Setter gebruiken
- Met
DefaultValue
Attribute && Property Setter
We kunnen standaardwaarde aannemen als initiële waarde van eigenschap in C#.
Methode 1: Automatische Property Initializers gebruiken in C# 6
In C# 6 kunnen we de automatisch geïmplementeerde eigenschap declareren en de standaardwaarde instellen in een enkele regel declaratie.
De syntaxis is
class Product{
public string Name {get;set;} = "";
}
Standaard hebben string-eigenschappen de waarde null
. Door C# 6 in-line declaratie te gebruiken, stellen we de standaardwaarde in als lege string.
Methode 2: Standaardwaarde toewijzen in de constructor
In de oudere versies van C#, C# 5 en lager is het een goede gewoonte om standaardwaarden voor C# eigenschappen in te stellen in de constructor van de klasse.
class Product
{
public string Name { get; set; }
public Product()
{
Name = "";
}
}
Methode 3: Gebruik van C# Property Setter
We kunnen gebruik maken van C# property setter om een standaardwaarde toe te wijzen aan automatisch geïmplementeerde eigenschappen.
class Product
{
private string _name = "";
public string Name {
get { return _name;}
set { _name = value;}
}
}
methode 4: Gebruik van DefaultValue
Attribute && Property Setter
In het bovenstaande voorbeeld hebben we een private variabele aangemaakt en een standaardwaarde toegekend.
In plaats daarvan kunnen we het attribuut DefaultValue
gebruiken om een standaardwaarde toe te wijzen.
class Product
{
private string _name;
[DefaultValue("")]
public string Name {
get { return _name;}
set { _name = value;}
}
}
Denk eraan DefaultValue
attribuut werkt alleen met property setter.
De onderstaande code kent geen standaardwaarde toe aan de eigenschap. De standaardwaarde is nog steeds null
.
public class Product
{
[DefaultValue("")]
public string Name { get; set; }
}
Als u DefaultValue
attribuut gebruikt, moet u property setter gebruiken.
Samenvatting
Als u C# 6 gebruikt, gebruik dan een in-line declaratie om de standaardwaarde in te stellen op C# eigenschappen, anders stelt u de standaardwaarde in in de constructor.