Как да зададете стойност по подразбиране на C# свойство или C# автоматично реализирано свойство

C# свойствата или автоматично реализираните свойства се използват широко в нашите класове вместо полета, т.е. променливи.

Автоматично реализираните свойства са въведени в C# 3.0.

В този урок ще научим 4 различни начина за задаване на стойност по подразбиране на C# свойствата, като използваме прости примери.

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