Kako nastaviti privzeto vrednost za lastnost C# ali C# samodejno implementirano lastnost
C# lastnosti ali samodejno implementirane lastnosti se v naših razredih pogosto uporabljajo namesto polj, tj. spremenljivk.
Samodejno implementirane lastnosti so uvedene v C# 3.0.
V tem učbeniku se bomo s preprostimi primeri naučili 4 različne načine za nastavitev privzete vrednosti lastnosti C#.
- Uporaba samodejnih inicializatorjev lastnosti v C# 6
- Dodelitev privzete vrednosti v konstruktorju
- Uporaba nastavljalnika lastnosti C#
- Uporaba
DefaultValue
Attribute && Property Setter
Kot začetno vrednost lastnosti lahko privzamemo privzeto vrednost v C#.
Metoda 1 : Uporaba samodejnih inicializatorjev lastnosti v C# 6
V C# 6 lahko deklariramo samodejno implementirano lastnost in določimo privzeto vrednost v deklaraciji v eni sami vrstici.
Sintaksa je
class Product{
public string Name {get;set;} = "";
}
Po privzetem bodo lastnosti nizov imele null
vrednost, Z uporabo C# 6 deklaracije v vrstici nastavimo privzeto vrednost kot prazen niz.
Metoda 2: Dodelitev privzete vrednosti v konstruktorju
V starejših različicah C#, C# 5 in nižjih je dobra praksa, da privzete vrednosti lastnosti C# določimo v konstruktorju razreda.
class Product
{
public string Name { get; set; }
public Product()
{
Name = "";
}
}
Metoda 3: Uporaba nastavljalnika lastnosti C#
Za dodelitev privzete vrednosti samodejno implementiranim lastnostim lahko uporabimo C# property setter.
class Product
{
private string _name = "";
public string Name {
get { return _name;}
set { _name = value;}
}
}
metoda 4: Uporaba DefaultValue
Attribute && Property Setter
V zgornjem primeru smo ustvarili zasebno spremenljivko in ji dodelili privzeto vrednost.
Namesto tega lahko za dodelitev privzete vrednosti uporabimo atribut DefaultValue
.
class Product
{
private string _name;
[DefaultValue("")]
public string Name {
get { return _name;}
set { _name = value;}
}
}
Ne pozabite, da ** atributDefaultValue
deluje samo z nastavljalnikom lastnosti.**
Spodnja koda lastnosti ne bo dodelila privzete vrednosti. Privzeta vrednost je še vedno null
.
public class Product
{
[DefaultValue("")]
public string Name { get; set; }
}
Če uporabljate atribut DefaultValue
, morate uporabiti nastavljalnik lastnosti.
Povzetek
Če uporabljate C# 6, uporabite vrstično deklaracijo za nastavitev privzete vrednosti lastnosti C#. V nasprotnem primeru nastavite privzeto vrednost v konstruktorju.