質問

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;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top