如何定义Visual C#中的常量,如C中的#define?
在C中,您可以定义这样的常量
#define NUMBER 9
因此,无论NUMBER出现在程序中,它都会替换为9.但Visual C#不会这样做。 怎么做?
public const int NUMBER = 9;
你需要将它放在某个类的某个类中,其用法是ClassName.NUMBER
你不能在C#中做到这一点。 请改用const int
。
检查如何:在MSDN上的C#中定义常量 :
在C#中,#define预处理程序指令不能用于以C和C ++中通常使用的方式定义常量。
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语言#define
: #define
(例如#define counter 100)
汇编语言: equ (例如,计数器等于100)
在c#语言中: 根据msdn参考 :您使用#define
定义符号。 当您将符号用作传递给#if
指令的表达式时,表达式将计算为true,如以下示例所示:
# define 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;