C#预处理器指令
预处理器指令从来不会转化为可执行代码中的命令,但会影响编译过程中的各个方面。
实际应用如:计划发布二个版本的代码,即基本版本和拥有更多功能的企业版本,就可以使用这些预处理器指令;
另外在编写提供调试信息的代码时,也可以使用预处理器指令。
下面介绍几个常用到的预处理器指令
#define 和#undef
用法如:#define debug
DEBUGP这个符号不是实际代码的一部分,可当做一个条件,只是在编译器编译代码时存在,在C#代码中它没有任何意义。
这二个指令必须放在C#源文件的开头位置,在声明要编译的任何对象的代码之前(即是using的前面)。
#define本身并没有什么用,但与其他指令(特别是#IF)结合使用时,功能就非常强了。
#if,#elif,#else,#endif
这些指令告诉编译器是否要编译某个代码块。
// 在完成了调试后可以把这二行代码注释掉。
#define enterprise
#define w2k
using system;
...
#if enterprise
// do 如果上面的enterprise符号存在,则执行这里面的语句,否则会忽略所有代码,直到遇到匹配的#endif指令为止。
#if w2k
//do
#endif
#elif pro
//do
#else
//do
#endif
#region 和#endregion 指令用于把一段代码标记为有给定名称的一个块,用法较易。