您的位置:首页 > 编程语言 > C#

C#预处理指令的使用及理解

2013-11-18 15:26 197 查看
#define DEBUG //定义
//#undef DEBUG//销毁定义的
/*
C#预处理指令
必须定义在源文件代码的开始
C#预处理指令用于版本控制,例如测试版本和正式版本的功能限制。
编译器会根据实际逻辑去编译代码。
*/
namespace Frank
{
public class Test
{
#pragma warning disable 169 //禁用编译指示警告信息
int age;//编译指示警告“从不使用字段”将不会显示出来
#pragma warning restore 169//恢复编译指示警告信息
int age2;//显示出编译指示警告
public static void Main(string[] args)
{
#if DEBUG //判断是否存在
System.Console.WriteLine("1");//存在就会执行里面的代码
#endif

//嵌套 if
#if DEBUG
System.Console.WriteLine("DEBUG");
#elif DEBUG2
System.Console.WriteLine("DEBUG2");
#else
System.Console.WriteLine("DEBUG3");
#endif//结束语句

//支持逻辑运算符
#if DEBUG && (DEBUG2 == false)
System.Console.WriteLine("123");
#endif

//#error "程序错误!"//输出错误消息,不会编译为IL代码

#warning "警告!"//输出一条警告后继续编译成IL代码

//标记快,被某些编辑器识别使之更好的布局,例如VS
#region
#endregion

//改变编译器在警告和错误信息中显示的文件名和行号信息
#line 164 "Core.cs"
//#error "154sadsa";//输出错误信息,改变了实际的行号和文件
#line default //还原默认的
//#error "1231";//输出的错误和警告消息是根据行号来排序的,所以当前输出的消息在它前一个消息之前。

#if DEBUG2//为输出错误增加条件,C# if语句中将会无效。
#error "1"
#endif

}
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: