How to Set default value toC# property orC# auto implemented property

C# プロパティや自動実装プロパティは、フィールド、すなわち変数の代わりにクラスで広く使用されています。

自動実装されたプロパティは、C# 3.0から導入されました。

このチュートリアルでは、C# プロパティにデフォルト値を設定する4つの方法を、簡単な例を使って学びます。

1.C# 6 で自動実装プロパティのイニシャライザを使用する 2.コンストラクタでデフォルト値を割り当てる 3.C# プロパティセッターの使用 4.DefaultValue 属性 & プロパティセッターを使う

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# プロパティセッターを使用する

自動実装されたプロパティにデフォルト値を割り当てるには、C# プロパティセッターを利用することができます。

class Product 
{
    private string _name = "";
    public string Name { 
        
        get { return _name;}
        set { _name = value;} 
    }
}

method 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# プロパティにデフォルト値を設定します。それ以外の場合は、コンストラクタでデフォルト値を設定します。