Visual Studio 2019 的代码分析和代码建议开始突出显示我调用返回值但根本不使用该值的方法的每一行代码,并告诉我使用丢弃运算符_
.
我不完全理解为什么这很重要,甚至对于 Fluent API 风格的代码来说它似乎是错误的。
以下两行之间有功能差异吗?
private int SomeMethod() => 0;
...
SomeMethod();
_ = SomeMethod();
...
如果返回值是一个引用会更重要吗?如果没有,有没有办法全局禁用此检查?
摘自微软文档:
从 C# 7.0 开始,C# 支持丢弃,这是临时的、虚拟的
在应用程序代码中有意使用的变量。丢弃
相当于未赋值的变量;它们没有价值。
因为只有一个丢弃变量,并且该变量可能
甚至不是分配的存储,丢弃可以减少内存分配。
因为它们使代码的意图变得清晰,所以它们增强了代码的意图
可读性和可维护性。
所有代码分析都是为了帮助改进整体编码。有时,我们会在项目早期编写返回简单值的快速方法。在重构期间,我们出于某种原因停止使用此类变量。代码分析只是指出了这一点。作为开发人员,您可以说,嘿,让我重构该方法以不返回变量,因为我们不需要它。这完全取决于您团队的开发风格。
验证您的问题,我正在运行 VS2019 16.0.0 Preview 5.0,问题就在那里。
根据 @MartinUllrich 的评论,我升级到版本 16.1.0 Preview 2.0。警告已经消失。您还可以禁用警告使用#pragma指令
You also disable the warning at the top of the source file:
你也抑制整个项目的警告.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)