#define (C# リファレンス)
更新 : 2007 年 11 月
#define を使用すると、シンボルを定義できます。定義したシンボルを式として #if ディレクティブに渡すと、式は true と評価されます。次に例を示します。
#define DEBUG
解説
メモ : |
---|
#define ディレクティブを使用して、通常 C および C++ で行うように定数値を宣言することはできません。C# の定数は、クラスまたは構造体の静的メンバとして定義することができます。そのような定数がいくつかある場合は、それを保持するための "Constants" クラスを個別に作成することを検討してください。 |
シンボルを使用して、コンパイル条件を指定できます。シンボルは、#if または #elif で評価できます。また、conditional 属性を使用して、条件付きコンパイルを実行することもできます。
シンボルを定義することはできますが、シンボルに値は代入できません。#define ディレクティブは、ファイルの先頭で、ディレクティブやそれ以外の命令よりも前に記述する必要があります。
また、シンボルは /define コンパイラ オプションでも定義できます。#undef を使うと、シンボルを未定義状態にできます。
/define または #define で定義されたシンボルは、同じ名前の変数とは競合しません。変数名をプリプロセッサ ディレクティブに渡すことはできません。シンボルはプリプロセッサ ディレクティブだけで評価されます。
#define で定義されたシンボルのスコープは、シンボルが定義されたファイル内だけです。
#define の使用例については、「#if」を参照してください。