预处理指令
- 什么是预处理指令
- 基本规则
- 预处理指令
什么是预处理指令
源代码指定了程序的定义,预处理指令(preprocessor directive)指示编译器如何处理源代码。
例如,在某些情况下,我们可能希望编译器忽略一部分代码,而在其他情况下,我们可能希望代码被编译。预处理指令给了我们这样的选项。
在 C 和 C++ 中有实际的预处理阶段,此时预处理程序遍历源代码并且为之后的编译阶段准备文本输出流,在C#中没有实际的预处理程序。“预处理” 指令由编译器来处理,而这个术语保留了下来
基本规则
- 预处理指令必须和C#代码在不同的行
- 与C#语句不同,预处理指令不需要以分号结尾
- 包含预处理指令的每一行必须以 # 字符开始
- 在 # 字符前可以有空格
- 在 # 字符和指令之间可以有空格
- 允许行尾注释
- 在预处理指令所在的行不允许分隔符注释
预处理指令
指 令 | 含义概要 |
#define identifler | 定义编译符 |
#undef identifier | 取消定义编译符 |
#if expression | 如果表达式是 true,编译下面的片段 |
#elif expression | 如果表达式是 true,编译下面的片段 |
#else | 如果之前的 #if 或 #elif 表达式是 false,编译下面的片段 |
#endif | 标记为一个 #if 结构的结束 |
#region name | 标记一段代码的开始,没有编译效果 |
#endregion name | 标记一段代码的结束,没有编译效果 |
#warning message | 显示编译时的警告消息 |
#error message | 显示编译时的错误消息 |
#line indicator | 修改在编译器消息中显示的行数 |
#pragma text | 指定有关程序上下文的信息 |