C# 语言标准--2.5 预处理指令
预处理指令提供按条件跳过源文件中的节、报告错误和警告条件,以及描绘源代码的不同区域的能力。使用术语“预处理指令”只是为了与 C 和 C++ 编程语言保持一致。在 C# 中没有单独的预处理步骤;预处理指令按词法分析阶段的一部分处理。
- pp-directive:(pp 指令:)
- pp-declaration(pp 声明)
pp-conditional(pp 条件)
pp-line(pp 行)
pp-diagnostic(pp 诊断)
pp-region(pp 区域)
下面是可用的预处理指令:
预处理指令总是占用源代码中的单独一行,并且总是以 #
字符和预处理指令名称开头。#
字符的前面以及 #
字符与指令名称之间可以出现空白符。
包含 #define
、#undef
、#if
、#elif
、#else
、#endif
或 #line
指令的源代码行可以用单行注释结束。在包含预处理指令的源行上不允许使用带分隔符的注释(/*
*/
样式的注释)。
预处理指令既不是标记,也不是 C# 句法文法的组成部分。但是,可以用预处理指令包含或排除标记序列,并且可以以这种方式影响 C# 程序的含义。例如,编译后,程序:
#define A #undef B class C { #if A void F() {} #else void G() {} #endif #if B void H() {} #else void I() {} #endif }
产生与下面的程序完全相同的标记序列:
class C { void F() {} void I() {} }
因此,尽管上述两个程序在词法分析中完全不同,但它们在句法分析中是相同的。
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>