Top > .NET Visual C#言語入門 > フィールド
プログラム構造 列挙型(enum) コンストラクタ・デストラクタ
スケルトン 配列 メソッド
クラス内の記述構成 構造体 プロパティ
HalloWorld 修飾子 静的クラスと静的メンバ
コマンドライン引数 プリプロセッサ ディレクティブ フィールド
コメント 例外と例外処理 演算子のオーバーロード
ステートメント(文) 可変個引数リスト(params) イベント(割り込み)
式(演算子) 名前空間 デリゲート
変数とデータ型 クラスとオブジェクト インデクサ
型変換(キャスト) クラス(class) デリゲート&イベント発生と受信サンプル
定数(Const/Readonly) 部分クラス定義  
文字列(string) 継承  

フィールド

フィールドとは外部変数ことで、クラスまたは構造体に含まれるオブジェクトや値のことです。

フィールドは通常、private にしてください。フィールドは、publicも可能ですが、この方法を実際に使用することはお勧めしません。外部クラスによるフィールドへのアクセスは、メソッド、プロパティ、インデクサを使用した間接的なアクセスにする必要があります。

フィールド

フィールドは、クラスのデザインを実現する上で必要なデータを格納します。たとえば、暦の日付を表すクラスには、月、日、年を表す 3 つの整数フィールドが存在します。フィールドは、フィールドのアクセス レベル、フィールドの型、フィールドの名前を順に指定して、クラス ブロック内で宣言します。次に例を示します。

public class CalendarDate
{
    public int month;
    public int day;
    public int year;
}

オブジェクト内のフィールドにアクセスするには、objectname.fieldname のように、オブジェクト名の後にピリオドを追加し、その後にフィールド名を続けます。次に例を示します。

CalendarDate birthday = new CalendarDate();
birthday.month = 7;

フィールドには、フィールドの宣言時に代入演算子を使用して初期値を設定できます。たとえば、month フィールドに自動的に 7 を代入するには、次のように month を宣言します。

public class CalendarDateWithInitialization
{
    public int month = 7;
    //...
}

フィールドは、オブジェクト インスタンスのコンストラクタが呼び出される直前に初期化されるので、コンストラクタがフィールドの値を代入すると、フィールドの宣言中に指定された値はすべて上書きされます。

メモ
フィールド初期化子は、他のインスタンス フィールドを参照できません。

フィールドは、 public、private、protected、internal、または protected internal とマークできます。これらのアクセス修飾子により、クラスのユーザーがフィールドにどのようにアクセスできるかが定義されます。

フィールドは、static と宣言することもできます。このように宣言すると、クラスのインスタンスが存在しない場合でも、呼び出し元がいつでもフィールドにアクセスできます。

フィールドは、readonly として宣言できます。読み取り専用フィールドには、初期化時またはコンストラクタでしか値を代入できません。static readonly フィールドは基本的に定数と同じですが、C# コンパイラは、このフィールドの値にはコンパイル時にアクセスできず、実行時にしかアクセスできません。

▲ページトップに戻る

【本を読んでもよくらからない】 … 個別指導でわかりやすくお教えします