在我的项目中开发一系列POCO,并意识到其中一些不需要using System;
子句。
将未使用的using <module>;
留在我的对象或项目上会有任何性能或大小的损失吗?
由于这个原因,我的类会变得更大,更慢或更臃肿吗?或者编译器/优化器是否足够智能来处理这个问题?
答案 0 :(得分:5)
答案 1 :(得分:1)
所有“使用系统”; statement确实允许您使用没有完全限定名称的命名空间。它不会以任何方式影响运行时性能。
答案 2 :(得分:1)
在代码中使用未使用的using
语句不会影响运行时性能。它们不会出现任何形式的编译DLL(它们确实存在于PDB中)。
但是,如果你知道它们无效,通常认为它们很好。使用未使用的内容实际上是说明了代码对一组类型和扩展方法的错误依赖性。
确定不使用哪些使用是一个繁琐的过程。我发现最好安装一个像PowerCommands
这样的工具,让它在文件保存上完成工作。
答案 3 :(得分:0)
既不会带来性能提升也不会带来影响。
我删除所有未使用的并将所有使用的内容排序为代码样式(整洁)。您可以通过Visual Studio上下文菜单(我将其绑定到热键)来执行此操作。
答案 4 :(得分:0)
如果您没有使用参考/装配或扩展功能 例如,使用System.Linq;默认情况下会添加到VS2010项目..如果你不使用它..只需删除它..没有性能问题
答案 5 :(得分:0)
using directive只是语法糖。
使用引用添加不会影响边缘编译时差异以外的性能。
答案 6 :(得分:0)
它决不会影响编译器的输出或编译程序的性能!
可以将其作为个人偏好的一部分删除。我个人推荐它,因为它会使编译更快(编译器查找的名称空间更少),并且还提高了intellisense的性能。
答案 7 :(得分:0)
它对性能没有影响。您可以自行决定保留还是删除它。
但是,考虑保留它。 btn-down
名称空间包含.NET Framework最常用的部分,并且在文件生存期内的某个时候,您(或某人)可能最终将需要它。这意味着不可避免地要把它放回去,可能是在浪费时间想知道为什么不存在任何系统类之后。