在C中你可以定义像这样的常量
#define NUMBER 9
因此,无论NUMBER出现在程序中,它都会替换为9.但Visual C#不会这样做。怎么做?
答案 0 :(得分:61)
public const int NUMBER = 9;
你需要将它放在某个类的某个类中,其用法为ClassName.NUMBER
答案 1 :(得分:16)
你不能在C#中这样做。请改用const int
。
答案 2 :(得分:13)
在MSDN上查看How to: Define Constants in C#:
在C#中
#define
预处理器 指令不能用于定义 通常的方式常数 用于C和C ++。
答案 3 :(得分:13)
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;
}
答案 4 :(得分:1)
用c语言: #define
(例如#define counter 100)
: equ (例如,计数器等于100)
c#语言中的:according to msdn refrence:
您使用#define
来定义符号。当您使用符号作为传递给#if
指令的表达式时,表达式将计算为true,如下例所示:
# define DEBUG
#define
指令不能用于声明常量值,这通常在C和C ++中完成。 C#中的常量最好定义为类或结构的静态成员。如果你有几个这样的常量,考虑创建一个单独的"常数"持有他们的课程。
答案 5 :(得分:0)
在C#中,根据MSDN库,我们有" const"执行" #define"的工作的关键字其他语言的关键字。
" ...当编译器在C#源代码中遇到常量标识符(例如,几个月)时,它会将文字值直接替换为它生成的中间语言(IL)代码。" (https://msdn.microsoft.com/en-us/library/ms173119.aspx)
在声明时初始化常量,因为没有更改它们。
public const int cMonths = 12;
答案 6 :(得分:0)
什么是“ Visual C#”?哪有这回事。只是C#或.NET C#:)
此外,Python的常量CONSTANT_NAME
约定在C#中不是很常见。我们通常根据MSDN标准使用 CamelCase ,例如public const string ExtractedMagicString = "vs2019";