自動実装プロパティ

ちょっと戻るけど、C#3以降では、プロパティの実装が簡単になっている。

自動実装するプロパティ - C# プログラミング ガイド | Microsoft Docs

Class1.csが、

// 整数値と文字列を持つクラス
class Class1    // Class1クラスの定義
{
    // プロパティの定義
    private int i;  // int型フィールドi
    public int I    // int型プロパティI
    {
        // 取得時の動作の定義.
        get // getの下のブロックに取得時動作を書く.
        {
            // iの値を返す.
            return i;   // return iでiを返す.
        }
        // 設定時の動作の定義.
        set // setの下のブロックに設定時動作を書く.
        {
 
            // 設定値をiに格納.
            i = value;  // valueをiに格納.
        }
    }
    private string str; // string型フィールドstr
    public string Str   // string型プロパティStr
    {
        // 取得時の動作の定義.
        get // getの下のブロックに取得時動作を書く.
        {
            // strの値を返す.
            return str;
        }
        // 設定時の動作の定義.
        set // setの下のブロックに設定時動作を書く.
        {
           
            // 設定値をstrに格納.
            str = value;    // valueをstrに格納.
        }
    }
    // メソッドの定義
    // 初期化
    public Class1() // コンストラクタClass1()の定義
    {
        // 初期化.
        i = 0;  // iを0にセット.
        str = "-";  // strに"-"をセット.
    }
}

こうで、
MainClass.csが、

の時に、実行すると、

c1.I = -5
c1.I = 10
c1.Str =
c1.Str = ABC
続行するには何かキーを押してください . . .

となるが、Class1.csは、

このようにプロパティの実装を省略できる。

c1.I = -5
c1.I = 10
c1.Str =
c1.Str = ABC
続行するには何かキーを押してください . . .

結果は変わらない。

Sample/cs/AutoImplementedProperties/AutoImplementedProperties/src/AutoImplementedProperties at master · bg1bgst333/Sample · GitHub