预处理器指令向编译器发出指令以在实际编译开始之前对信息进行预处理。
所有预处理器指令都以 # 开头,并且在一行中的预处理器指令之前只能出现空白字符。预处理器指令不是语句,因此它们不以分号 (;) 结尾。
以下是 C# 中的一些预处理器指令。
不 | 预处理器指令和说明 |
---|---|
1 | #define 它定义了一个字符序列,称为符号。 |
2 | #undef 它允许您取消定义一个符号。 |
3 | #if 它允许测试一个或多个符号以查看它们的计算结果是否为真。 |
4 | #else 它允许与#if 一起创建复合条件指令。 |
5 | #elif 它允许创建复合条件指令。 |
6 | #endif 指定条件指令的结束。 |
7 | #line 它允许您修改编译器的行号和(可选)错误和警告的文件名输出。 |
8 | #error 它允许从代码中的特定位置生成错误。 |
让我们看一个定义字符序列的 #define 预处理器的例子。
#define PI using System; namespace PreprocessorDAppl { class Program { static void Main(string[] args) { #if (PI) Console.WriteLine("PI is defined"); #else Console.WriteLine("PI is not defined"); #endif Console.ReadKey(); } } }输出结果
PI is defined