我认为这是一个简单的问题,因此我想我可能错过了一些显而易见的东西。我实际上从不使用预处理器指令,但我正在查看某人的代码,并认为这是我应该熟悉的内容。
因此,我查看了msdn示例这里的代码:
#define DEBUG
// ...
#if DEBUG
Console.WriteLine("Debug version");
#endif
我的两个问题是:
- 在上面的示例中,为什么要定义DEBUG?我认为它是根据编译为调试版本还是发布版本来设置的?
- 看另一个例子,它有
#define MYTEST
,然后根据是否“定义”将内容写入控制台,但这与使用变量有何不同?我错过了什么?
[Conditional("DEBUG")]
,从而影响针对该库的编译。 - cdhowie