C# での get と set

Muhammad Maisam Abbas 2024年2月16日
C# での get と set

このチュートリアルでは、C# での getset を紹介します。

C# のプロパティ

プロパティは、入力、出力、および計算するためのメソッドを提供するパブリックフィールドです。C# のクラス内のプライベート変数の値。プロパティ名を書くための慣習は、それを公開に保ち、名前を大文字で始めることです。次のコード例は、C# でプロパティを作成する方法を示しています。

using System;

namespace Properties {
  class P {
    private string pname;
    public string Name {
      get { return pname; }
      set { pname = value; }
    }
  }
  class Program {
    static void Main(string[] args) {
      P obj = new P();
      obj.Name = "This is his name";
      Console.WriteLine(obj.Name);
    }
  }
}

出力:

This is his name

上記のコードでは、プライベート変数 pname とパブリックプロパティ Name を使用してクラス P を宣言しました。プロパティ Name は、プライベート変数 pname の値を設定および取得します。setget は、それぞれ pname の値を入力および出力するために使用されます。これらの両方について、以下で説明します。

C# のプロパティの set アクセサー

set アクセサーは、C# のプライベートフィールドの値を入力するために使用されます。次のコード例は、set アクセサーを使用して C# のプライベート変数にデータを入力する方法を示しています。

using System;

namespace Properties {
  class P {
    private string pname;
    public string Name {
      set { pname = value; }
    }
  }
  class Program {
    static void Main(string[] args) {
      P obj = new P();
      obj.Name = "This is his name";
    }
  }
}

main 関数の obj.Name = "This is his name"によってデータを set アクセサーに渡します。この行は、set アクセサーの暗黙の変数 value 内に値 This is his name を渡します。value は、渡された値を表すプロパティ内の暗黙の変数です。

C# のプロパティの get アクセサー

get アクセサーは、C# のプライベートフィールドの値を出力するために使用されます。次のコード例は、get アクセサーを使用して C# でプライベート変数のデータを出力する方法を示しています。

using System;

namespace Properties {
  class P {
    private string pname;
    public string Name {
      get { return pname; }
      set { pname = value; }
    }
  }
  class Program {
    static void Main(string[] args) {
      P obj = new P();
      obj.Name = "This is his name";
      Console.WriteLine(obj.Name);
    }
  }
}

出力:

This is his name

C# のパブリックプロパティ Name のパブリック get アクセサーを使用して、プライベート変数 pname 内のデータにアクセスしました。上記のコードを省略形で記述しても、次のコードで同じ機能を実行することもできます。

using System;

namespace Properties {
  class P {
    public string Name { get;

                         set;

    }
  }
  class Program {
    static void Main(string[] args) {
      P obj = new P();
      obj.Name = "This is his name";
      Console.WriteLine(obj.Name);
    }
  }
}

出力:

This is his name

このコードは、前に説明したコードと同じことを行います。パブリックセッターとプライベートフィールドのゲッターにアクセスする方法を提供します。上記のコードでは、値 This is his nameset アクセサーを使用してプロパティ Name に渡し、get アクセサーを使用して値を取得します。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp Property