C#预处理指令

1.预处理指令

C#中有许多名为“预处理器指令”的命令。这些命令从来不会转化为可执行代码中的命令,但会影响编译过程的各个方面

:#region name
:#endregion 可以用来进行代码分块。
_____________________________-
还有几对不太常用的
:#define symbol 定义一个变量名。该变量名如果存在,这个指令就没有意义
:#undef symbol 删除一个变量名,如果这个变量名不存在,这个指令就没有意义
______________________________-
:#if symbol [operator symbol2]…
:#else
:#elif symbol [operator symbol2]
:#endif
_____________________________-
:#warning text text 指在编译器输出中的警告文字
:#error text text 指在编译器输出中的错误信息
_____________________________-
:#line number [file]
:#pragma
_____________________________-
:关于#define要说明几点,#define DEBUG 等效于不写这句话,你要不定义它才一定要写上#undefin DEBUG


1.用法:

#define 的用法: #define DEBUG //定义一个变量(存在)
 和#if DEBUG 一起用的时候,存在即为true,不存在为false

#undef 正好相反—— 它删除符号的定义: #undef DEBUG (不存在)
  
必须把#define 和#undef 命令放在C#源文件的开头位置,在声明要编译的任何对象的代码之前。

#define 本身并没有什么用,但与其他预处理器指令(特别是#if)结合使用.
—-条件编译

int DoSomeWork(double x)
{
// do something
#if DEBUG
Console.WriteLine(“x is ” + x);
#endif
}

2.#if 和#elif 还支持一组逻辑运算符“!”、“==”、“!=”和“||”。如果符号存在,就被认为是true,否则为false

#if W2K && (ENTERPRISE==false)
// if W2K is defined but ENTERPRISE isn’t

3.如果编译器遇到#warning 指令,会给用户显示#warning 指令后面的文本,之后编译继续进行。
如果编译器遇到#error 指令,就会给用户显示后面的文本,作为一条编译错误消息,然后会立即退出编译,不会生成IL 代码。

#if DEBUG && RELEASE
#error “You’ve defined DEBUG and RELEASE simultaneously!”
#endif
#warning “Don’t forget to remove this line before the boss tests > the code!”
Console.WriteLine(“I love this job.“);

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值