Sådan indstiller du standardværdi til C# ejendom eller C# auto implementeret ejendom
C# egenskaber eller auto implementerede egenskaber er meget udbredt i vores klasser i stedet for felter, dvs. variabler.
Auto implementerede egenskaber blev introduceret i C# 3.0.
I denne tutorial vil vi lære 4 forskellige måder at indstille standardværdi til C# egenskaber på ved hjælp af enkle eksempler.
- Brug af automatiske egenskabsinitialisatorer i C# 6
- Tildel standardværdi i konstruktør
- Brug af C# Property Setter
- Brug af
DefaultValue
Attribute && Property Setter
Vi kan antage standardværdien som initialværdi for egenskaben i C#.
Metode 1 : Brug af automatiske egenskabsinitialisatorer i C# 6
I C# 6 kan vi erklære den auto-implementerede egenskab og indstille standardværdien i en enkelt linje erklæring.
Syntaksen er
class Product{
public string Name {get;set;} = "";
}
Som standard har string-egenskaberne null
værdi. Ved at bruge C# 6 in-line-deklaration indstiller vi standardværdien som en tom streng.
Metode 2: Tildel standardværdi i konstruktøren
I de ældre versioner af C#, C# 5 og lavere er det en god praksis at angive standardværdier for C# egenskaber i klassens konstruktør.
class Product
{
public string Name { get; set; }
public Product()
{
Name = "";
}
}
Metode 3: Brug af C# Property Setter
Vi kan gøre brug af C# property setter til at tildele en standardværdi til automatisk implementerede egenskaber.
class Product
{
private string _name = "";
public string Name {
get { return _name;}
set { _name = value;}
}
}
metode 4: Brug af DefaultValue
Attribute && Property Setter
I ovenstående eksempel har vi oprettet en privat variabel og tildelt en standardværdi.
I stedet kan vi bruge attributten DefaultValue
til at tildele standardværdi.
class Product
{
private string _name;
[DefaultValue("")]
public string Name {
get { return _name;}
set { _name = value;}
}
}
Husk DefaultValue
-attributten fungerer kun med property setter.
Nedenstående kode tildeler ikke standardværdien til egenskaben. Standardværdien er stadig null
.
public class Product
{
[DefaultValue("")]
public string Name { get; set; }
}
Hvis du bruger attributten DefaultValue
, skal du bruge egenskabssætteren.
Resumé
Hvis du bruger C# 6, skal du bruge in-line-deklaration til at indstille standardværdien til C# -egenskaberne, ellers skal du indstille standardværdien i konstruktøren.