欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.net 预处理指令符的使用详解

程序员文章站 2022-03-24 08:28:34
什么是预处理指令符?当c#编译器找到一条预处理指令#if,最后找到一条指令时,#endif仅在定义了指定符号的情况下,编译器才会在这些指令之间编译代码。与c和c ++不同,您不能将数字值分配给符号。#...

什么是预处理指令符?

当c#编译器找到一条预处理指令#if,最后找到一条指令时,#endif仅在定义了指定符号的情况下,编译器才会在这些指令之间编译代码。与c和c ++不同,您不能将数字值分配给符号。#if c#中的语句为布尔型,仅测试符号是否已定义。

预处理指令符的使用

  • #if:打开条件编译,仅在定义了指定符号的情况下才编译代码。
  • #elif:根据是否定义了指定的符号,关闭前面的条件编译并打开新的条件编译。
  • #else:如果未定义先前指定的符号,则关闭之前的条件编译并打开新的条件编译。
  • #endif:关闭前面的条件编译。

条件编译(编译器会根据不同配置环境来执行):

当前解决方案编译环境为debug

.net 预处理指令符的使用详解

输出结果:

.net 预处理指令符的使用详解

常用指令符:

.net 预处理指令符的使用详解

自定义指令符

举例:我们需要两个版本的代码,基础版、更多功能的企业版本。此时我们就可以通过自定义指令符来满足定制化功能。

  • #define 自定义指令符
  • #undef 删除指令符

.net 预处理指令符的使用详解

也可以通过属性的方式来执行方法

.net 预处理指令符的使用详解

使用visual studio快速定义指令符

vs站点-》右键-》属性-》生成-》常规

.net 预处理指令符的使用详解

定义生效后,通过csproj工程文件我们可以看到有两条propertygroup对应不同的condition

.net 预处理指令符的使用详解

定义指令符区域

你还可以使用以下两个预处理程序指令定义可以折叠在大纲中的代码区域:

  • #region:开始一个区域。
  • #endregion:结束区域

参考链接

到此这篇关于.net 预处理指令符的使用的文章就介绍到这了,更多相关.net 预处理指令符内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!