C# #if, #else和#endif预处理指令
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# #if, #else和#endif预处理指令,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1159字,纯文字阅读大概需要2分钟。
内容图文
![C# #if, #else和#endif预处理指令](/upload/InfoBanner/zyjiaocheng/1048/0f364c3e160940fab0bbedac75ac2fb6.jpg)
#if 使您可以开始条件指令,测试一个或多个符号以查看它们是否计算为 true 。如果它们的计算结果确实为 true ,则编译器将计算位于 #if 与最近的 #endif 指令之间的所有代码。例如,
1 #if DEBUG 2string file = root + "/conf_debug.xml"; 3#else4string file = root + "/conf.xml"; 5#endif
这段代码会像往常那样编译,但 读取debug配置文件 包含在 #if 子句内。这行代码只有在前面的 #define 命令定义了符号 DEBUG 后才执行。当编译器遇到 #if 语句后,将先检查相关的符号是否存在,如果符号存在,就只编译 #if 块中的代码。否则,编译器会忽略所有的代码,直到遇到匹配的 #endif 指令为止。一般是在调试时定义符号 DEBUG ,把不同的调试相关代码放在 #if 子 句中。在完成了调试后,就把 #define 语句注释掉,所有的调试代码会奇迹般地消失,可执行文件也会变小,最终用户不会被这些调试信息弄糊涂 ( 显然,要做更多的测试,确保代码在没有定义 DEBUG 的情况下也能工作 ) 。这项技术在 C 和 C++ 编程中非常普通,称为条件编译 (conditional compilation) 。
参考msdn实例:
1 // preprocessor_if.cs
2 #define DEBUG
3#define VC_V7
4using System;
5publicclass MyClass
6 {
7staticvoid Main()
8 {
9#if (DEBUG && !VC_V7)
10 Console.WriteLine("DEBUG is defined");
11#elif (!DEBUG && VC_V7)
12 Console.WriteLine("VC_V7 is defined");
13#elif (DEBUG && VC_V7)
14 Console.WriteLine("DEBUG and VC_V7 are defined");
15#else
16 Console.WriteLine("DEBUG and VC_V7 are not defined");
17#endif
18 }
19 }
输出结果:
DEBUG and VC_V7 are defined
原文:http://www.cnblogs.com/yuhuameng/p/3578555.html
内容总结
以上是互联网集市为您收集整理的C# #if, #else和#endif预处理指令全部内容,希望文章能够帮你解决C# #if, #else和#endif预处理指令所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。