更新: 2008 年 7 月
/define 选项将 name 定义为程序的所有源代码文件中的一个符号。
/define:name[;name2] |
参数
备注
使用 /define 选项与使用
可以将用该选项创建的符号与
/d 是 /define 的缩写形式。
通过使用分号或逗号分隔符号名称,可以使用 /define 定义多个符号。例如:
![]() | |
---|---|
/define:DEBUG;TUESDAY |
C# 编译器自身没有定义可以在源代码中使用的符号或宏;所有符号定义必须是用户定义的。
![]() |
---|
与 C++ 这样的语言相同,C# #define 不允许给符号赋值。例如,不能使用 #define 创建宏或定义常数。如果您需要定义常数,请使用 enum 变量。如果您希望创建 C++ 样式的宏,请考虑其他方式,例如泛型。由于宏有容易出错的坏名声,因此 C# 不允许使用宏,而是提供了其他更安全的选择。 |
在 Visual Studio 开发环境中设置此编译器选项
打开项目的“属性”页。
在“生成”选项卡上,键入要在“条件编译符号”框中定义的符号。例如,如果要使用下面的代码示例,只需在文本框中键入 xx。
有关如何以编程方式设置此编译器选项的信息,请参见
示例
![]() | |
---|---|
// preprocessor_define.cs // compile with: /define:xx // or uncomment the next line // #define xx using System; public class Test { public static void Main() { #if (xx) Console.WriteLine("xx defined"); #else Console.WriteLine("xx not defined"); #endif } } |
请参见
修订记录
日期 | 历史记录 | 原因 |
---|---|---|
2008 年 7 月 | 修订了“备注”部分的信息,以指示在找到 #undef 指令之前该选项对所有文件都有效。 |
内容 Bug 修复 |