Как установить значение по умолчанию для свойства C# или C# auto implemented property

C# свойства или автореализуемые свойства широко используются в наших классах вместо полей, т.е. переменных.

Автореализованные свойства были введены в C# 3.0.

В этом уроке мы изучим 4 различных способа установки значения по умолчанию для свойств C# на простых примерах.

  1. Использование автоинициализаторов свойств в C# 6
  2. Присвоение значения по умолчанию в конструкторе
  3. Использование C# Property Setter
  4. Использование 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#, в противном случае установите значение по умолчанию в конструкторе.