MOの気になることを適当に伝えるブログ

moNote

C#

C# - プロパティ

投稿日:2020/10/05 更新日:

C# の プロパティ の説明

プロパティ

プロパティは、オブジェクト内にあるフィールドの値を取得・設定するための専用のメソッドのことをいいます。

    class Program
    {
        static void Main(string[] args)
        {
            Human obj = new Human();

            obj.Name = "太郎";
            Console.WriteLine(obj.Name);
            Console.Read();
        }
    }

    class Human
    {
        private string name;
        public string Name
        {
            // getアクセス
            get {
                return name;
            }
            // setアクセス
            set {
                name = value;
            }
        }
    }

上記のコードでは フィールドの「name」の為の Nameプロパティを設定しています。 プロパティには フィールドの値を返す getアクセス と フィールドに値を代入する setアクセス があります。

getアクセスを書かなければ書込み専用。setアクセスを書かなければ読み取り専用のプロパティになります。

プロパティに設定された値は 変数 value に代入されるので、それを利用フィールドに値を代入します。 

フィールドの値を取得するための get用のメソッドと、設定するための set用のメソッドをそれぞれ作成するより、1つのメソッドで get と set のロジックを記述できるのが特徴です。

自動実装プロパティ

値に対して特にチェックロジック等を記述することがない場合は、自動実装プロパティという書き方をすることで、privateフィールドの記述を省略できます。

    class Program
    {
        static void Main(string[] args)
        {
            Human obj = new Human();

            obj.Name = "太郎";
            Console.WriteLine(obj.Name);
            Console.Read();
        }
    }

    class Human
    {
        // 自動実装プロパティ
        public string Name { get; set; }
    }

初期値を設定したいときは 次のように記述します。

    class Human
    {
        public string Name { get; set; } = "taro";
    }

また、set を private に指定することによって、読み取り専用プロパティとすることが可能です。

    class Human
    {
        public string Name { get; private set; } = "taro";
    }

-C#
-

Copyright© moNote , 2020 All Rights Reserved Powered by STINGER.