get (C# リファレンス)get (C# Reference)

get キーワードは、プロパティのアクセサーメソッド、またはプロパティ値かインデクサー要素を返すインデクサーを定義します。The get keyword defines an accessor method in a property or indexer that returns the property value or the indexer element. 詳しくは、「プロパティ (C# プログラミング ガイド)」、「自動実装するプロパティ (C# プログラミング ガイド)」、および「インデクサー (C# プログラミング ガイド)」をご覧ください。For more information, see Properties, Auto-Implemented Properties and Indexers.

次の例では、Seconds という名前のプロパティの get アクセサーと set アクセサーを定義します。The following example defines both a get and a set accessor for a property named Seconds. また、_seconds という名前のプライベート フィールドを使って、プロパティの値を戻しています。It uses a private field named _seconds to back the property value.


class TimePeriod
{
     private double _seconds;

     public double Seconds
     {
         get { return _seconds; }
         set { _seconds = value; }
     }
}

多くの場合、前の例のように、get アクセサーは値を返す 1 つのステートメントで構成されます。Often, the get accessor consists of a single statement that returns a value, as it did in the previous example. C# 7.0 以降では、式形式のメンバーとして get アクセサーを実装できます。Starting with C# 7.0, you can implement the get accessor as an expression-bodied member. 次の例では、get アクセサーと set アクセサーの両方を、式形式のメンバーとして実装しています。The following example implements both the get and the set accessor as expression-bodied members.


class TimePeriod
{
    private double _seconds;

    public double Seconds
    {
        get => _seconds;
        set => _seconds = value;
    }
}

プロパティの get アクセサーと set アクセサーがプライベート バッキング フィールドの値の設定と取得以外の操作を実行しない単純な場合では、自動実装プロパティに対する C# コンパイラのサポートを利用できます。For simple cases in which a property's get and set accessors perform no other operation than setting or retrieving a value in a private backing field, you can take advantage of the C# compiler's support for auto-implemented properties. 次の例では、自動実装プロパティとして Hours を実装しています。The following example implements Hours as an auto-implemented property.

class TimePeriod2
{
    public double Hours { get; set; }
}

C# 言語仕様C# Language Specification

詳細については、「C# 言語の仕様」を参照してください。For more information, see the C# Language Specification. 言語仕様は、C# の構文と使用法に関する信頼性のある情報源です。The language specification is the definitive source for C# syntax and usage.

参照See Also

C# リファレンスC# Reference
C# プログラミング ガイドC# Programming Guide
C# のキーワード プロパティC# Keywords Properties