Cの#defineのようなVisual C#で定数を定義する方法は?
質問
Cでは、このような定数を定義できます
#define NUMBER 9
NUMBERがプログラムのどこに出現しても、9に置き換えられます。しかし、Visual C#はこれを行いません。どのように行われますか?
解決
public const int NUMBER = 9;
クラスのどこかに配置する必要があり、使用法は ClassName.NUMBER
他のヒント
C#ではこれを実行できません。代わりに const int
を使用してください。
static class Constants
{
public const int MIN_LENGTH = 5;
public const int MIN_WIDTH = 5;
public const int MIN_HEIGHT = 6;
}
// elsewhere
public CBox()
{
length = Constants.MIN_LENGTH;
width = Constants.MIN_WIDTH;
height = Constants.MIN_HEIGHT;
}
MSDNの方法:C#で定数を定義するを確認します。
C#では、
#define
プリプロセッサ ディレクティブを使用して定義することはできません 通常の方法での定数 CおよびC ++で使用されます。
c言語の場合: #define
(例:#define counter 100)
アセンブリ言語: equ (例:counter equ 100)
C#言語: msdn refrenceに準拠:
#define
を使用して、シンボルを定義します。 #if
ディレクティブに渡される式としてシンボルを使用すると、次の例に示すように、式はtrueと評価されます。
#DEBUGを定義
#define
ディレクティブは、CおよびC ++で一般的に行われているように、定数値の宣言には使用できません。 C#の定数は、クラスまたは構造体の静的メンバーとして最も適切に定義されます。そのような定数が複数ある場合は、個別の「定数」を作成することを検討してください。それらを保持するクラス。
C#では、MSDNライブラリごとに" const"があります。 "#define"の機能を果たすキーワード他の言語のキーワード。
" ...コンパイラがC#ソースコードで定数識別子(たとえば、月)に遭遇すると、コンパイラは生成する中間言語(IL)コードにリテラル値を直接代入します。 ( https://msdn.microsoft.com/en-us/library/ms173119。 aspx )
定数を変更しないため、宣言時に定数を初期化します。
public const int cMonths = 12;