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 块的结束。
相关推荐
rockey62712 小时前
基于AScript的python3脚本语言发布啦!
python·c#·.net·script·python3·eval·expression·function·动态脚本
工程师00712 小时前
C# 字符串不可变性 + 字符串驻留池原理
c#·字符串拘留池
唐青枫18 小时前
内存为什么越来越高?C#.NET GC 详解:分代回收、LOH、终结器与性能优化实战
c#·.net
xiaohe0719 小时前
C#数据库操作系列---SqlSugar完结篇
网络·数据库·c#
yngsqq1 天前
平面图环 内轮廓
c#
格林威1 天前
工业视觉项目:如何与客户有效沟通验收标准?
人工智能·数码相机·计算机视觉·视觉检测·机器视觉·工业相机·视觉项目
rockey6271 天前
AScript之eval函数详解
c#·.net·script·eval·expression·动态脚本
He少年2 天前
【AI 辅助案例分享】
人工智能·c#·编辑器·ai编程
工程师0072 天前
栈和堆的概念
c#·栈和堆
不会编程的懒洋洋2 天前
C# P/Invoke 基础
开发语言·c++·笔记·安全·机器学习·c#·p/invoke