Как установить значение по умолчанию для свойства C# или C# auto implemented property
C# свойства или автореализуемые свойства широко используются в наших классах вместо полей, т.е. переменных.
Автореализованные свойства были введены в C# 3.0.
В этом уроке мы изучим 4 различных способа установки значения по умолчанию для свойств C# на простых примерах.
- Использование автоинициализаторов свойств в C# 6
- Присвоение значения по умолчанию в конструкторе
- Использование C# Property Setter
- Использование
DefaultValue
Attribute && 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# сеттер свойств для присвоения значения по умолчанию автореализуемым свойствам.
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
атрибут работает только с установщиком свойств.
В приведенном ниже коде свойству не будет присвоено значение по умолчанию. Значение по умолчанию по-прежнему будет null
.
public class Product
{
[DefaultValue("")]
public string Name { get; set; }
}
Если вы используете атрибут DefaultValue
, вы должны использовать сеттер свойства.
Резюме
Если вы используете C# 6, используйте встроенное объявление для установки значения по умолчанию для свойств C#, в противном случае установите значение по умолчанию в конструкторе.