Как да зададете стойност по подразбиране на C# свойство или C# автоматично реализирано свойство
C# свойствата или автоматично реализираните свойства се използват широко в нашите класове вместо полета, т.е. променливи.
Автоматично реализираните свойства са въведени в C# 3.0.
В този урок ще научим 4 различни начина за задаване на стойност по подразбиране на C# свойствата, като използваме прости примери.
- Използване на инициализатори на автоматично въведени свойства в C# 6
- Задаване на стойност по подразбиране в конструктора
- Използване на C# Property Setter
- Използване на
DefaultValue
Атрибут & & Property Setter
Можем да приемем стойността по подразбиране като начална стойност на свойството в C#.
Метод 1 : Използване на автоматични инициализатори на свойства в C# 6
В C# 6 можем да декларираме автоматично имплементирано свойство и да зададем стойност по подразбиране в декларация на един ред.
Синтаксисът е
class Product{
public string Name {get;set;} = "";
}
По подразбиране свойствата на низове ще имат стойност null
, Като използваме декларацията в един ред на C# 6, задаваме стойността по подразбиране като празен низ.
Метод 2: Задаване на стойност по подразбиране в конструктора
В по-старите версии на C#, C# 5 и по-ниски е добра практика да се задават стойности по подразбиране на C# свойствата в конструктора на класа.
class Product
{
public string Name { get; set; }
public Product()
{
Name = "";
}
}
Метод 3: Използване на C# Property Setter
Можем да използваме C# property setter, за да присвоим стойност по подразбиране на автоматично имплементирани свойства.
class Product
{
private string _name = "";
public string Name {
get { return _name;}
set { _name = value;}
}
}
метод 4: Използване на DefaultValue
Attribute && Property Setter
В горния пример сме създали частна променлива и сме й задали стойност по подразбиране.
Вместо това можем да използваме атрибута DefaultValue
, за да присвоим стойност по подразбиране.
class Product
{
private string _name;
[DefaultValue("")]
public string Name {
get { return _name;}
set { _name = value;}
}
}
Не забравяйте, че ** атрибутътDefaultValue
работи само със свойствата setter.**
Кодът по-долу няма да присвои стойност по подразбиране на свойството. Стойността по подразбиране все още е null
.
public class Product
{
[DefaultValue("")]
public string Name { get; set; }
}
Ако използвате атрибута DefaultValue
, трябва да използвате property setter.
Обобщение
Ако използвате C# 6, използвайте in-line декларация, за да зададете стойност по подразбиране на C# свойствата, в противен случай задайте стойност по подразбиране в конструктора.