华域联盟 .Net .net 预处理指令符的使用详解

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

.net 预处理指令符的使用详解
 更新时间:2021年04月07日 17:10:26   作者:大辉哥呀  

这篇文章主要介绍了.net 预处理指令符的使用详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

目录什么是预处理指令符?预处理指令符的使用自定义指令符使用Visual Studio快速定义指令符定义指令符区域什么是预处理指令符?
当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

参考链接
docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/preprocessor-directives
blog.walterlv.com/post/how-to-define-preprocessor-symbols.html
www.cnblogs.com/woxihuadabai/p/8005892.html
到此这篇关于.net 预处理指令符的使用的文章就介绍到这了,更多相关.net 预处理指令符内容请搜索华域联盟以前的文章或继续浏览下面的相关文章希望大家以后多多支持华域联盟!

您可能感兴趣的文章:.NET框架中间语言IL指令大全asp.net服务器端指令include的使用及优势介绍

.net
预处理
指令

相关文章
IdnentiyServer使用客户端凭据访问API的实例代码这篇文章主要介绍了IdnentiyServer-使用客户端凭据访问API的相关知识,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下 2018-10-10
让GridView只显示特定用户的数据的方法GridView 只显示特定用户的数据 2008-10-10
Silverlight中同步调用WebClient的解决办法,是同步!如何建立web服务并引用的细节,不是本文的介绍的目标,不再赘述。在silverlight调用服务器端服务的时候,默认情况下是进行异步调用的 2011-04-04
ASP.NET MVC5网站开发之添加\\删除\\重置密码\\修改密码\\列表浏览管这篇文章主要为大家详细介绍了ASP.NET MVC5网站开发之添加\\删除\\重置密码\\修改密码\\列表浏览,感兴趣的小伙伴们可以参考一下 2016-08-08
asp.net 选择excel类型文件,利用Dos命令成批复制文件选择excel类型文件,利用Dos命令成批复制文件 2009-12-12
ASP.NET2.0 WebRource,开发微调按钮控件ASP.NET2.0 WebRource,开发微调按钮控件... 2006-09-09
visual Studio 2017创建简单控制台程序这篇文章主要为大家详细介绍了visual Studio 2017创建简单控制台程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2018-11-11
datagrid绑定list没有数据 表头不显示的解决方法datagrid绑定list没有数据 表头不显示的问题,那是因为 绑定了null,你给list new一下就好 表头就会有啦 2013-05-05
asp.net 使用Response.Filter 过滤非法词汇一般信息发布网站,论坛等均具有实现非法词汇过滤功能,即当用户录入非法词汇时,进行替换,使其无法显示到页面上,针对此种功能,通常采用的时,在读取时,在读到非法词汇后,进行替换。 2010-03-03
在.Net中使用MongoDB的方法教程最近在研究mongodb,在网上搜索发现针对.net 中使用mongodb的文章要么是早期的驱动版本,要么资料很少,所以写个随笔记录一下,本文详细的给大家介绍了在.Net中使用MongoDB的方法教程,需要的朋友可以参考借鉴,下面来一起看看吧。 2017-05-05

最新评论

本文由 华域联盟 原创撰写:华域联盟 » .net 预处理指令符的使用详解

转载请保留出处和原文链接:https://www.cnhackhy.com/4948.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者:

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部