https://msdn.microsoft.com/library/yt3yck0x.aspx

#if 指令的表达式时,此表达式的计算结果为 true,如下例所示:

DEBUG

备注
 
 
注意

如果具有多个像这样的常数,可以考虑创建一个单独的“Constants”类来保存这些常数。

还可以使用 conditional 特性执行条件编译。

 #define 指令必须在使用任何不是预处理器指令的指令之前出现在文件中。

#undef 来取消定义符号。

即,不应将变量名传递到预处理器指令,并且只能用预处理器指令计算符号。

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

如以下示例所示,您必须将 #define 指令置于文件的顶部。

 
#define DEBUG
//#define TRACE
#undef TRACE

using System;

public class TestDefine
{
    static void Main()
    {
#if (DEBUG)
        Console.WriteLine("Debugging is enabled.");
#endif

#if (TRACE)
     Console.WriteLine("Tracing is enabled.");
#endif
    }
}
// Output:
// Debugging is enabled.

#undef(C# 参考)。

相关文章: