您现在的位置是:网站首页> 编程资料编程资料
.net 预处理指令符的使用详解_实用技巧_
2023-05-24
436人已围观
简介 .net 预处理指令符的使用详解_实用技巧_
什么是预处理指令符?
当C#编译器找到一条预处理指令#if,最后找到一条指令时,#endif仅在定义了指定符号的情况下,编译器才会在这些指令之间编译代码。与C和C ++不同,您不能将数字值分配给符号。#if C#中的语句为布尔型,仅测试符号是否已定义。
预处理指令符的使用
- #if:打开条件编译,仅在定义了指定符号的情况下才编译代码。
- #elif:根据是否定义了指定的符号,关闭前面的条件编译并打开新的条件编译。
- #else:如果未定义先前指定的符号,则关闭之前的条件编译并打开新的条件编译。
- #endif:关闭前面的条件编译。
条件编译(编译器会根据不同配置环境来执行):
#if DEBUG Console.WriteLine("我是debug 模式!"); #elif RELEASE Console.WriteLine("我是relsease 模式!"); #else Console.WriteLine("我是自定义模式!"); #endif Console.WriteLine("我是没有被任何预处理过得输出!");当前解决方案编译环境为Debug

输出结果:

常用指令符:

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

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

使用Visual Studio快速定义指令符
VS站点-》右键-》属性-》生成-》常规

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

定义指令符区域
你还可以使用以下两个预处理程序指令定义可以折叠在大纲中的代码区域:
- #region:开始一个区域。
- #endregion:结束区域
#region MyClass definition public class MyClass { static void Main() { } } #endregion参考链接
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/preprocessor-directives
https://blog.walterlv.com/post/how-to-define-preprocessor-symbols.html
https://www.cnblogs.com/woxihuadabai/p/8005892.html
到此这篇关于.net 预处理指令符的使用的文章就介绍到这了,更多相关.net 预处理指令符内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- .NET AppSettings与ConnectionStrings使用案例详解_实用技巧_
- 两种获取connectionString的方式案例详解_实用技巧_
- 详解ASP.NET MVC的整个生命周期_实用技巧_
- C#中efcore-ShardingCore呈现“完美”分表_实用技巧_
- Asp.net Core 如何设置黑白名单(路由限制)_实用技巧_
- 详解.NET数据库连接池_实用技巧_
- Quartz.NET的具体使用_实用技巧_
- .NET5控制台程序使用EF连接MYSQL数据库的方法_实用技巧_
- .NET中创建对象的几种方式和对比_实用技巧_
- .net core 基于Hangfire+Mysql持久化实现定时任务配置方法_实用技巧_
