C#预处理指令

C#预处理指令从来不会转化为可执行代码中的令令,但会影响编译过程的各个方面。例如,使用预处理器指令可以禁止编译器编译代码的某一部分。如果计划发布两个版本的代码,即基本版本有更多功能的企业版本,就可以使用这些预处理器指令。在编译软件的基本版本时,使用预处理器指令还可以禁止编译器编译与额外功能相关的代码。另外,在编写提供调试信息的代码时,也可以使用预处理指令。实际上,在销售软件时,一般不希望编译这部分代码。预处理器指令的开头都有符号#。

1.#define 和 #undef

   #define DEBUG它告诉编译器存在给定的符号,在本例中是DEBUG。

   #undef正好相反……删除符号的定义。

   必须把#define和#undef命令放在C#源代码的开头,在声明要编译的任何对象遥代码之前。#define本身并没有什么用,但当与其他预处理器指令(特别是#if)结合使用时,它的功能就非常强大了。

 

2.#if,#elif,#else和#endif

   满足某些条件,预编译相应分支的代码,类似于选择结构。

 

3.#warning和error

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

  使用这两个指令可以检查#define语句是不是做错了什么事,使用#warning语句可以让自己想起做过什么事:

  #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 hate this job");

 

4.#region和#endregion

   标记代码段,使每个块具有一个逻辑名字,在VS中可以合上打开,便于代码管理。

 

5.#line

 

6#pragma

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值