C#预处理指令
来源:互联网 发布:域名跟空间怎么绑定 编辑:程序博客网 时间:2024/06/01 22:07
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.“);
- C#中的预处理指令
- C#预处理指令
- C#预处理指令
- C# 预处理器指令
- C#预处理指令
- C#预处理指令
- C#预处理器指令
- C# 预处理指令
- C#预处理指令
- C# 预处理器指令
- C#预处理器指令
- C#预处理指令
- C# 预处理指令
- C#预处理器指令
- C#预处理指令
- C# 预处理器指令
- C#预处理器指令
- C#预处理指令
- 解决Centos 7安装完成之后无法联网
- Linux下修复“运行aclocal失败:没有该文件或目录”
- nginx 访问 .php文件变成下载
- Netty教程-Netty介绍
- linux文件压缩解压缩命令
- C#预处理指令
- lasso算法学习
- Keepalived + Nginx实现高可用 Web负载均衡
- 蓝桥杯2014年第五届决赛C_C++程序设计本科B组
- 画PCB技巧及快捷键不定期整理
- leetCode---Merge k Sorted Lists
- Error:(17, 0) Could not find method android() for arguments [build_1cwiaafm5
- SharePoint online Multilingual support
- Spring MVC初体验