C# 预处理器指令


预处理命令虽然不是可执行的语句,但其却是可以向编译器提供如何编译代码指令的语句。在使用预处理指令时要注意,过度使用会让代码很难读懂,如果使用不当还会使代码的某些部分成为只读属性。

C#预处理命令

#define          定义预处理变量,一旦定义了预处理变量,它可以再整个源文件中使用

#undef          取消预处理变量

#if                  if条件语句。对#if后面的条件进行判断,如果条件满足,则执行随后的代码

#elif              else if条件语句的预处理版本

#region        给一个代码区域一个名称或标记 

#endregion 与#region连用,表示所标记区域的代码结束   

#line             最常用作一个元语言,让开发人员把行号给予某个代码行

#linedefault  用在#line语句的后面,返回默认的行号

#error           在编译代码时显式一个错误,并结束编译。其用途是防止预处理命令冲突

#warning     在编译程序时显示警告消息,一般用来提醒开发人员有关程序的一些信息


预处理命令不用分号断开,一般是一行上只有一条命令。编译器如果遇到一条预处理命令,就会假设下一条命令在下一行。


#define和#undef:告诉编译器存在给定名称的符号,其类似于声明一个变量,但这个变量并没有真正的值,只是存在而已,并且只在编译器编译代码时存在。当使用#undef命令时,如果符号不存在,就不发挥作用。同样,如果符号已经存在,#define也不起作用。    

#if、#elif、#else、#endif:实现的功能与if选择结构有点相似,但它是在编译的时候实现那种功能。编译器遇到#if语句后,将先检查并查看符号是否存在。如果符号存在,就只编译#if块中的代码,否则就会忽略所有的代码,直到遇到匹配的#ednif指令为止。#else和#endif指令可以用在#if块中,含义非常直接,是嵌套在#if块中。

#warning和#error:当编译器遇到它们时,会分别产生一个警告或错误。如果编译器遇到#warning指令,会给用户显示#warning指令后面的文本,之后编译继续进行。如果编译器遇到#error指令,会立即退出编译,不会生成IL代码。

#line:可以用于改变编译器在警告和错误信息中显示的文件名和行号信息。将代码发送给编译器前,若使用某些软件包改变代码,使用这个指令就可以时期恢复为默认的。

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告