C#预处理命令
宏定义必须放在文件的最前面.如#define Debug.
// preprocessor_if.cs
#define DEBUG
#define VC_V7
using System;
public class MyClass
{
static void Main()
{
#if (DEBUG && !VC_V7) //可以用&&、||、==、!= 联合多个宏
Console.WriteLine("DEBUG is defined");
#elif (!DEBUG && VC_V7)
Console.WriteLine("VC_V7 is defined");
#elif (DEBUG && VC_V7)
Console.WriteLine("DEBUG and VC_V7 are defined");
#else
Console.WriteLine("DEBUG and VC_V7 are not defined");
#endif
}
}
#if 与#endif配对.
#elif(condition)相当于else if
#else 相当于 else
#undef 去除宏定义。即,#define Debug,而后面调用#undef 则Debug转为未定义。还有一点要注意,它与#define一样都必须放在文件的第一行或开头。
#warning debug is defined 用于条件语句中,debug is defined 可以按实际条件改变。如果debug定义了,则在
#error与#warning相似,可以生成特定错误。
#line 200行号
#line default
#line hidden 处于此下的语句,断点将不起作用。
#pragma 为编译器提供特殊的指令,以说明如何编译包含杂注的文件。
#pragma pragma-name pragma-arguments
#pragma warning 可启用或禁用某些警告
#pragma warning disable warning-list #pragma warning restore warning-list如:#pragma warning disable禁用所有警告。
#pragma warning restore 启动警告
#pragma checksum "filename" "{guid}" "checksum bytes"
参数
浙公网安备 33010602011771号