C# “值得删除吗?”;“使用系统”;从我的档案里?
在我的项目上开发了一系列POCO,并且刚刚意识到其中一些不需要C# “值得删除吗?”;“使用系统”;从我的档案里?,c#,.net,performance,using-declaration,C#,.net,Performance,Using Declaration,在我的项目上开发了一系列POCO,并且刚刚意识到其中一些不需要使用系统子句 使用时未使用是否会导致性能或尺寸损失在我的对象或项目上 我的类是否会因此变得更大、更慢、更臃肿,或者编译器/优化器是否足够聪明来处理这个问题?不,没有性能问题 这只是一个可读性问题(我建议删除它们) 更多信息,请访问: 既不会带来性能提升,也不会带来命中率 我删除所有未使用的,并将所有使用的作为代码样式进行排序(整洁)。您可以通过Visual Studio上下文菜单(我将其绑定到一个热键)执行此操作。所有“using S
使用系统代码>子句
使用时未使用是否会导致性能或尺寸损失代码>在我的对象或项目上
我的类是否会因此变得更大、更慢、更臃肿,或者编译器/优化器是否足够聪明来处理这个问题?不,没有性能问题
这只是一个可读性问题(我建议删除它们)
更多信息,请访问:
既不会带来性能提升,也不会带来命中率
我删除所有未使用的,并将所有使用的作为代码样式进行排序(整洁)。您可以通过Visual Studio上下文菜单(我将其绑定到一个热键)执行此操作。所有“using System;”语句都允许您在没有完全限定名的情况下使用该名称空间。它不会以任何方式影响运行时性能。在代码中使用未使用的语句不会导致运行时性能损失。它们不会以任何形式出现在已编译的DLL中(它们确实存在于PDB中)
然而,如果你知道它们是无效的,通常认为移除它们是好的方式。使用未使用的using本质上是声明代码对一组类型和扩展方法的错误依赖
确定哪些用法不被使用是一个乏味的过程。我发现最好只安装一个工具,比如PowerCommands
,让它完成文件保存的工作
如果您未使用参考/组件或扩展功能
例如使用System.Linq;默认情况下,将添加到VS2010项目中。。如果你不使用它。。把它取下来。。没有性能问题只是语法上的糖分
使用引用添加不会影响性能,除了边际编译时差异。它不会影响编译器的输出或编译程序的性能
它可以作为个人偏好的一部分删除。我个人推荐它,因为它可以加快编译速度(减少编译器要查找的名称空间),还可以提高intellisense的性能 它对性能没有影响。您可以自行决定是否保留或移除
但是,考虑保留它。System
命名空间包含.NET Framework最常用的部分,在文件生命周期的某个时刻,您(或某人)可能最终需要它。这意味着不可避免地要把它放回去,可能是在浪费时间想为什么没有系统类存在之后。这是最佳实践之一,删除未使用的类namespaces@ashutoshraina我不知道我是否会称之为“最佳实践”。它可以增加可读性,但对代码输出没有影响。@Platinum Azure,我也可以编译自己的内核并为自己的目的编写自定义版本的Linux,但我没有。:-)@马查多:苹果和桔子。我是说,当你完全可以自己测量一切时,你不应该要求别人为你工作。@PlatinumAzure,我当然可以这么做。我可以更深入地检查IL。这不是重点。由于这个问题,我得到了一些关于使用和它如何影响Intellisense的很好的答案,但不是输出本身,另外我还从我的程序员同事那里得到了关于编码风格的输入。如果你不喜欢这个问题,请随意否决,这是你的权利。编译2个版本的代码并比较生成的IL。