它们必须放在.cs文件的顶部。您不能在运行时动态地创建这些人,也不能给他们一个值或更改他们的值,因为根本没有值,所以#define关键字的意义是什么?
下面是一个示例:
#define DEBUG
#define MYTEST
using System;
public class MyClass
{
static void Main()
{
#if (DEBUG && !MYTEST)
Console.WriteLine("DEBUG is defined");
#elif (!DEBUG && MYTEST)
Console.WriteLine("MYTEST is defined");
#elif (DEBUG && MYTEST)
Console.WriteLine("DEBUG and MYTEST are defined");
#else
Console.WriteLine("DEBUG and MYTEST are not defined");
#endif
}
}两者都是在顶部定义的,那么为什么要有所有这些if呢?
有人能告诉我定义有用的场景吗?
对不起,如果这是重复的,请在评论中告诉我,如果是的话,我将删除这个问题。
发布于 2014-04-02 07:12:21
您应该删除顶部的两个#define语句。如果使用Visual进行编译,则可以选择打开或不打开调试。如果打开调试,编译器将知道代码中包含哪些部分,以及省略了哪些部分。
假设您打开了调试,您的代码将如下所示:
using System;
public class MyClass
{
static void Main()
{
Console.WriteLine("DEBUG is defined");
}
}https://stackoverflow.com/questions/22803693
复制相似问题