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;
}
チェック 方法:C#で定数を定義する MSDN:
C#では、
#define
プリプロセッサディレクティブを使用して、CおよびC++で通常使用される方法で定数を定義することはできません。
c言語の場合:#define
(例:#define counter 100)
アセンブリ言語で:equ(例:counter equ 100)
c#言語: msdn refrenceによる :#define
を使用してシンボルを定義します。 #if
ディレクティブに渡される式としてシンボルを使用すると、次の例に示すように、式はtrueと評価されます。
# define DEBUG
#define
ディレクティブは、CおよびC++で一般的に行われているように、定数値を宣言するために使用できません。 C#の定数は、クラスまたは構造体の静的メンバーとして最も適切に定義されます。そのような定数が複数ある場合は、それらを保持するために別の「定数」クラスを作成することを検討してください。
C#では、MSDNライブラリごとに、他の言語で「#define」キーワードの機能を実行する「const」キーワードがあります。
「... C#ソースコード(たとえば、月)で定数識別子に遭遇すると、コンパイラは生成する中間言語(IL)コードにリテラル値を直接代入します。」 ( https://msdn.Microsoft.com/en-us/library/ms173119.aspx )
定数は変更しないため、宣言時に定数を初期化します。
public const int cMonths = 12;