更新:2007 年 11 月

#define 可让您定义符号。当您将符号用作传递给 #if 指令的表达式时,此表达式的计算结果为 true。例如:

#define DEBUG

备注

说明:

不能像在 C 和 C++ 中的通常做法一样,使用 #define 指令来声明常数值。最好是将 C# 中的常数定义为类或结构的静态成员。如果具有多个像这样的常数,可以考虑创建一个单独的“Constants”类来保存这些常数。

符号可用于指定编译的条件。可以使用 #if#elif 来测试符号。还可以使用 conditional 属性执行条件编译。

可以定义符号,但是无法对符号赋值。#define 指令必须在使用任何也不是指令的指令之前出现在文件中。

也可以用 /define 编译器选项来定义符号。可以用 #undef 来取消定义符号。

/define#define 定义的符号与具有同一名称的变量不冲突。即,不应将变量名传递到预处理器指令,并且只能用预处理器指令计算符号。

#define 创建的符号的范围是在其中定义该符号的文件。

有关如何使用 #define 的示例,请参见 #if

请参见