基础才是重中之重~Conditional特性使代码根据条件在debug或者release模式中执行

简介:

众所周知,自从.net中出现了特性(attribute)之后,代码变得更加简洁,可读性更强了,今天主要说一下Conditional特性,Conditional它主要是约束你的代码段在哪种条件下进行执行,我们今天主要针对DEBUG和TRACE这两个条件约束,它们可以当作是Conditional特性的输入参数,形式如下:

1        [Conditional("DEBUG")]
2         protected static void LogDebugInfo()
3         {
4             //在debug模式输出一些调试信息
5             Console.WriteLine("只在调试模式输出本行");
6         }
1      [Conditional("TRACE")]
2         protected static void LogTraceInfo()
3         {
4             //在trace模式输出一些调试信息
5             Console.WriteLine("只在TRACE关键字被选中时输出本行");
6         }

而上面两个代码段中提到“TRACE关键字”,这个东西在哪里设置呢?说它之前,我们需要知道程序调试的两种方式,debug和release,你可以对这两种方式分别进行DEBUG和TRACE关

键字的设置,可以通过项目的属性=>“生成”进行设置,如图:

这将DEBUG和TRACE分别赋给了debug模式和release模式,这样设置的好处是,可以看两种模式进行分离,debug可以看作调试模式,release可以看作稳定(生产,上线)模式,有时我们

需要在上线后记录一些程序的日志信息这时可以使用这种方法,呵呵。

本文转自博客园张占岭(仓储大叔)的博客,原文链接:基础才是重中之重~Conditional特性使代码根据条件在debug或者release模式中执行,如需转载请自行联系原博主。

目录
相关文章
|
4月前
|
Java 开发者
在Java编程中,if-else与switch作为核心的条件控制语句,各有千秋。if-else基于条件分支,适用于复杂逻辑;而switch则擅长处理枚举或固定选项列表,提供简洁高效的解决方案
在Java编程中,if-else与switch作为核心的条件控制语句,各有千秋。if-else基于条件分支,适用于复杂逻辑;而switch则擅长处理枚举或固定选项列表,提供简洁高效的解决方案。本文通过技术综述及示例代码,剖析两者在性能上的差异。if-else具有短路特性,但条件增多时JVM会优化提升性能;switch则利用跳转表机制,在处理大量固定选项时表现出色。通过实验对比可见,switch在重复case值处理上通常更快。尽管如此,选择时还需兼顾代码的可读性和维护性。理解这些细节有助于开发者编写出既高效又优雅的Java代码。
66 2
|
7月前
|
安全 Java 开发者
JDK 21中的Switch模式匹配:一种更强大且灵活的分支选择机制
本文深入探讨了JDK 21中引入的Switch模式匹配的新特性。这种新的模式匹配机制不仅简化了传统的switch语句,还引入了类型检查和模式匹配,使得代码更加简洁、易读且功能强大。本文将详细介绍Switch模式匹配的语法、使用场景以及与传统switch语句的区别,并通过示例代码展示其在实际开发中的应用。
1356 0
|
7月前
|
存储 安全 C++
【C++14保姆级教程】lambda 初始化捕获 new/delete 消除
【C++14保姆级教程】lambda 初始化捕获 new/delete 消除
303 0
|
前端开发
【前端验证】对uvm_info宏的进一步封装尝试
【前端验证】对uvm_info宏的进一步封装尝试
|
Java
Java基本语法(13)--条件分支switch-case结构
Java基本语法(13)--条件分支switch-case结构
153 1
Java基本语法(13)--条件分支switch-case结构
|
缓存 搜索推荐 Java
《SpringBoot系列十五》源码+案例分析条件装配时多个Condition执行的顺序是什么样的?可以配置优先级吗?
《SpringBoot系列十五》源码+案例分析条件装配时多个Condition执行的顺序是什么样的?可以配置优先级吗?
224 0
《SpringBoot系列十五》源码+案例分析条件装配时多个Condition执行的顺序是什么样的?可以配置优先级吗?
|
人工智能 前端开发 开发工具
Swift实用小册05:条件、循环和控制转移语句的使用
Swift实用小册05:条件、循环和控制转移语句的使用
216 0
Swift实用小册05:条件、循环和控制转移语句的使用
《Drools7.0.0.Final规则引擎教程》番外实例篇——默认条件的陷阱
《Drools7.0.0.Final规则引擎教程》番外实例篇——默认条件的陷阱
157 0
|
SQL 安全 BI
BUG优先级定义各种P级别
BUG优先级定义各种P级别
|
开发框架 并行计算 .NET
c1xx : warning C4199: C++/CLI、C++/CX 或 OpenMP 不支持两阶段名称查找;请使用 /Zc:twoPhase-
c1xx : warning C4199: C++/CLI、C++/CX 或 OpenMP 不支持两阶段名称查找;请使用 /Zc:twoPhase-
1328 0