C#预处理的一个例子为什么有些代码是灰色的
#define DEBUG
#define SPECIAL
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication7
{
class Program
{
static void Main()
{
#if (DEBUG && !SPECIAL)
Console.WriteLine("DEBUG符号已定义。"); -------此行灰色
#elif (!DEBUG && SPECIAL)
Console.WriteLine("SPECIAL符号已定义。"); -------此行灰色
#elif (DEGUB && SPECIAL)
Console.WriteLine("DEBUG和SPECIAL符号已定义。"); -------此行灰色
#else
Console.WriteLine("DEBUG和SPECIAL符号没有定义。");
#endif
}
}
}
求解
------解决方案--------------------#if (DEBUG && !SPECIAL)
是调试模式执行吧
------解决方案--------------------因为在当前编译配置下,这些代码不会被编译。
你可以在项目-设置-活动方案-预定义符号中改变。