Jak nastavit výchozí hodnotu vlastnosti C# nebo C# automaticky implementované vlastnosti
C# vlastnosti nebo automaticky implementované vlastnosti se v našich třídách hojně používají místo polí, tj. proměnných.
Automaticky implementované vlastnosti jsou zavedeny v C# 3.0.
V tomto tutoriálu se na jednoduchých příkladech naučíme 4 různé způsoby, jak nastavit výchozí hodnotu C# vlastnostem.
- Používání automaticky spouštěných inicializátorů vlastností v C# 6
- Přiřazení výchozí hodnoty v konstruktoru
- Použití nastavovače vlastností C#
- Použití
DefaultValue
Atribut && Property Setter
Jako počáteční hodnotu vlastnosti můžeme předpokládat výchozí hodnotu v C#.
Metoda 1 : Použití automatických inicializátorů vlastností v C# 6
V C# 6 můžeme deklarovat automaticky implementovanou vlastnost a nastavit výchozí hodnotu v jednořádkové deklaraci.
Syntaxe je následující
class Product{
public string Name {get;set;} = "";
}
Ve výchozím nastavení bude mít řetězcová vlastnost hodnotu null
, Pomocí řádkové deklarace C# 6 nastavujeme výchozí hodnotu jako prázdný řetězec.
Metoda 2: Přiřazení výchozí hodnoty v konstruktoru
Ve starších verzích C#, C# 5 a nižších je dobrým zvykem nastavit výchozí hodnoty vlastností C# v konstruktoru třídy.
class Product
{
public string Name { get; set; }
public Product()
{
Name = "";
}
}
Metoda 3: Použití nastavovače vlastností C#
K přiřazení výchozí hodnoty automaticky implementovaným vlastnostem můžeme využít setter vlastností C#.
class Product
{
private string _name = "";
public string Name {
get { return _name;}
set { _name = value;}
}
}
metoda 4: Použití DefaultValue
Attribute && Property Setter
Ve výše uvedeném příkladu jsme vytvořili soukromou proměnnou a přiřadili jí výchozí hodnotu.
Místo toho můžeme k přiřazení výchozí hodnoty použít atribut DefaultValue
.
class Product
{
private string _name;
[DefaultValue("")]
public string Name {
get { return _name;}
set { _name = value;}
}
}
Nezapomeňte, že ** atributDefaultValue
funguje pouze s nastavovačem vlastností.**
Níže uvedený kód nepřiřadí vlastnosti výchozí hodnotu. Výchozí hodnota je stále null
.
public class Product
{
[DefaultValue("")]
public string Name { get; set; }
}
Pokud používáte atribut DefaultValue
, musíte použít property setter.
Shrnutí
Pokud používáte C# 6, použijte in-line deklaraci pro nastavení výchozí hodnoty vlastností C#. V opačném případě nastavte výchozí hodnotu v konstruktoru.