adr*_*dey 4 c# debugging release visual-studio
我有一些代码中充斥着类似于以下的调试表达式:
System.Diagnostics.Debug.WriteLine(System.BitConverter.ToString(data.Take(32).ToArray()));
Run Code Online (Sandbox Code Playgroud)
我能做些什么来防止发布版本评估System.BitConverter.ToString(data.Take(32).ToArray())
?
我添加了自己的调试类,允许我WriteLine()
根据我想要的报告级别来控制调用,但即使在发布模式下,这两种方法也会评估 Linq 和字符串转换(不是吗)?
---稍后添加---
正如我上面所说,代码中有很多这样的行,我并不特别想把#if DEBUG
它们全部都写出来。
我想知道如何避免在 Release 模式下评估 Linq 和 BitConverter,我认为这会影响性能。
你什么都不用做!对传递给方法的参数求值ConditionalAttribute
已经被抑制。
有关权威文档,请参阅C# 语言规范中的条件属性部分。引用:
[...] 调用(包括调用参数的评估)被省略。
要查看该方法实际上带有ConditionalAttribute
,请参阅Debug.WriteLine(string)
文档。
归档时间: |
|
查看次数: |
467 次 |
最近记录: |