C# 预处理器指令

C# 预处理器指令

一、什么是预处理指令

源代码指定了程序的定义,*预处理指令(preprocessor directive)*指示编译器如何处理源代码。例如,在某些情况下,我们希望编译器能够忽略一部分代码,而在其他情况下,我们希望代码被编译,这时我们就可以使用预处理指令了。

C++开发人员应知道,在C 和C++中预处理器指令非常重要,但是,在C#中,并没有那么多的预处理器指令,它们的使用也不太频繁。C#提供了其他机制来实现许多C++指令的功能,如定制特性。还要注意,C#并没有一个像C++那样的独立预处理器,所谓的预处理器指令实际上是由编译器处理的。尽管如此,C#仍保留了一些预处理器指令名称,因为这些命令会让人觉得就是预处理器。

二、基本规则

  • 预处理指令必须和C#代码在不同的行
  • 与C#语句不同,预处理指令不需要以分号结尾
  • 包含预处理指令的每一行必须与 ''#'' 字符开始(在#字符前可以有空格,在#字符和指令之间也可以有空格)
  • 允许行尾注释
  • 在预处理指令所在的行不允许有分隔符注释

示例

C# 复制代码
#region MyRegion
 
// 包含在 MyRegion 中的代码
 
 
#endregion

上面的代码定义了一个名为 MyRegion 的区域,可以在编辑器中折叠或展开这个区域

注意 ,使用 #region 指令定义的区域必须使用 #endregion 指令结束。

二、C# 预处理器指令列表

预处理器指令 描述
#define 它用于定义一系列成为符号的字符。
#undef 它用于取消定义符号。
#if 它用于测试符号是否为真
#else 它用于创建复合条件指令,与 #if 一起使用。
#elif 它用于创建复合条件指令。
#endif 指定一个条件指令的结束。
#line 它可以让您修改编译器的行数以及(可选地)输出错误和警告的文件名。
#error 它允许从代码的指定位置生成一个错误。
#warning 它允许从代码的指定位置生成一级警告。
#region 它可以让您在使用 Visual Studio Code Editor 的大纲特性时,指定一个可展开或折叠的代码块。
#endregion 它标识着 #region 块的结束。
相关推荐
晨星shine7 小时前
GC、Dispose、Unmanaged Resource 和 Managed Resource
后端·c#
用户2986985301415 小时前
.NET 文档自动化:Spire.Doc 设置奇偶页页眉/页脚的最佳实践
后端·c#·.net
用户36674625267415 小时前
接口文档汇总 - 2.设备状态管理
c#
用户36674625267415 小时前
接口文档汇总 - 3.PLC通信管理
c#
Ray Liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Scout-leaf4 天前
WPF新手村教程(三)—— 路由事件
c#·wpf
用户298698530145 天前
程序员效率工具:Spire.Doc如何助你一键搞定Word表格排版
后端·c#·.net
mudtools6 天前
搭建一套.net下能落地的飞书考勤系统
后端·c#·.net
玩泥巴的6 天前
搭建一套.net下能落地的飞书考勤系统
c#·.net·二次开发·飞书
唐宋元明清21886 天前
.NET 本地Db数据库-技术方案选型
windows·c#