C#预处理指令
来源:互联网 发布:js创建一个数组 编辑:程序博客网 时间:2024/06/07 04:26
什么是预处理指令?
预处理指令可以按条件跳过相应不符合条件的代码进行编译。
预处理指令的用途:
当计划发布两个版本的代码时,如基础版和拥有更多功能的企业版,可以用到预处理指令。
在编译基本版的时候,使用预处理指令会禁止编译器编译与额外功能相关的代码。
#define指令
define指令,可以把它看做成声明一个变量。具体和代码中申明变量又有如下区别:
- define指令必须在代码文件中的第一句。
- 没有分号作为结束标记。
- 单独使用是没有任何意义的,但是和#if #elif #else #endif一起使用就截然不同了。
具体用法:
#define Busing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication18{ class Program { static void Main(string[] args) { } }}
#if #elif #else #endif 指令
这些指令就好比程序中的 if else 流程控制语句,只不过if else是在程序运行期间进行流程控制,而预处理指令将在程序编译期间就已经开始了,如用VS工具编写代码,将会看到代码呈现不同颜色。
#define Busing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication18{ class Program { static void Main(string[] args) {#if A Console.WriteLine("Hello");#elif B Console.WriteLine("World");#else Console.WriteLine("else");#endif } }}
具体用法如上述代码,我们可以删除代码第一句 define 或者将B改为A 可以看到程序将会打印不同的结果。
在当前代码(.cs)文件中定义#define才能有效,那么假设其他文件也要用到这个预处理变量,就很麻烦了,有没有全局性的呢?
有,可以在当前项目右键属性生成中设置,如要定义多个,用逗号隔开,具体看截图:
#region #endregion
这个不做过多介绍,代码折叠语句。用过VS的都知道
0 0
- C#中的预处理指令
- C#预处理指令
- C#预处理指令
- C# 预处理器指令
- C#预处理指令
- C#预处理指令
- C#预处理器指令
- C# 预处理指令
- C#预处理指令
- C# 预处理器指令
- C#预处理器指令
- C#预处理指令
- C# 预处理指令
- C#预处理器指令
- C#预处理指令
- C# 预处理器指令
- C#预处理器指令
- C#预处理指令
- AsyncTask和Handler对比
- xml基础概念
- Android加载动画系列—— CircularJumpLoadingAnim
- Android应用程序的启动过程源码解析—点击图标启动过程
- HDOJ 4004 The Frog's Games
- C#预处理指令
- android中的spinner
- android ListView 记录当前位置 恢复
- hdu 2089 不要62 数位dp
- Java数据类型小结
- [SCU4442] Party [2015 Sichuan Province Contest Final G]
- 自动释放池什么时候创建,什么时候销毁?
- js注意事项12
- 【NBUTOJ】-1651-Red packet(二分)