Kaip nustatyti numatytąją reikšmę C# savybei arba C# automatiškai įgyvendintai savybei
C# savybės arba automatiškai įgyvendintos savybės plačiai naudojamos mūsų klasėse vietoj laukų, t. y. kintamųjų.
Automatiškai įgyvendintos savybės pradėtos naudoti C# 3.0 versijoje.
Šioje pamokoje, remdamiesi paprastais pavyzdžiais, sužinosime 4 skirtingus būdus, kaip C# savybėms nustatyti numatytąją reikšmę.
- Automatiškai nustatomų savybių iniciatorių naudojimas C# 6
- Numatytosios reikšmės priskyrimas konstruktoriuje
- Naudojant C# savybių nustatinėtoją
- Naudojant
DefaultValue
atributų ir savybių nustatymą
Pradine savybės verte galime laikyti numatytąją reikšmę C#.
1 metodas : automatinių savybių iniciatorių naudojimas C# 6
Svetainėje C# 6 galime deklaruoti automatiškai įgyvendinamą savybę ir nustatyti numatytąją reikšmę vienos eilutės deklaracijoje.
Sintaksė yra tokia
class Product{
public string Name {get;set;} = "";
}
Pagal numatytuosius nustatymus eilutės savybė turės null
reikšmę, Naudodami C# 6 eilutės deklaraciją, nustatome numatytoji reikšmė yra tuščia eilutė.
2 būdas: priskirti numatytąją reikšmę konstruktoriuje
Senesnėse C#, C# 5 ir vėlesnėse versijose gera praktika yra klasės konstruktoriuje nustatyti numatytąsias C# savybių reikšmes.
class Product
{
public string Name { get; set; }
public Product()
{
Name = "";
}
}
3 būdas: naudojant C# savybių nustatinėtoją
Norėdami priskirti numatytąją reikšmę automatiškai įdiegtoms savybėms, galime pasinaudoti C# savybių nustatinėtoju.
class Product
{
private string _name = "";
public string Name {
get { return _name;}
set { _name = value;}
}
}
4 būdas: DefaultValue
atributų ir savybių nustatinėtojo naudojimas
Pirmiau pateiktame pavyzdyje sukūrėme privatų kintamąjį ir priskyrėme numatytąją reikšmę.
Vietoj to galime naudoti DefaultValue
atributą, kad priskirtume numatytąją reikšmę.
class Product
{
private string _name;
[DefaultValue("")]
public string Name {
get { return _name;}
set { _name = value;}
}
}
Atminkite, kad DefaultValue
atributas veikia tik su savybių nustatymu.
Toliau pateiktas kodas nepriskirs savybės numatytoji reikšmė. Numatytoji reikšmė vis tiek bus null
.
public class Product
{
[DefaultValue("")]
public string Name { get; set; }
}
Jei naudojate atributą DefaultValue
, turite naudoti savybės nustatymą.
Apibendrinimas
Jei naudojate C# 6, naudokite eilutinę deklaraciją, kad nustatytumėte numatytąją reikšmę C# savybėms, kitu atveju numatytąją reikšmę nustatykite konstruktoriuje.