未使用的“using”声明对开销的影响?

49

我刚刚安装了Resharper,并且它让我知道了每个类中我没有实际使用的命名空间。

这引发了我的疑问 - 在保留未使用的using声明时,是否会有任何开销?

这只是一个紧凑代码的问题吗?还是在不需要时调用这些命名空间会影响性能?


我也很惊讶找不到它...如果是重复的话,可以随意关闭。 - nailitdown
"为什么要在C#中删除未使用的using语句?" => https://dev59.com/cXRB5IYBdhLWcg3wa2q2 - dance2die
我把这一切都归咎于SO搜索引擎! ;) “Using”不是一个好的关键词搜索... - dance2die
使用谷歌搜索: site:stackoverflow.com 你的搜索词 在程序设计相关领域中。 - George Stocker
可能是为什么应该删除不必要的C#使用指令?的重复内容。 - ChrisF
显示剩余4条评论
4个回答

100

来自C# 团队常见问题解答

当您添加程序集引用或使用“using”关键字时, csc.exe 将忽略您代码中未实际使用的任何程序集... 不要从应用程序中删除未使用的 'using' 语句或程序集引用,C# 编译器会自动为您完成。

您可以通过调用 Assembly.GetReferencedAssemblies() 来验证这确实是情况。您将看到未使用的内容不会包含在列表中。

删除未使用的引用的主要效果是:

  • 更容易看到实际使用了哪些代码
  • 保持 IntelliSense 净化,防止出现您实际上不会使用的内容。

41

有一些性能原因需要去除 using 语句:

  • 当数据量较小时,VS 的智能感知运行速度更快。

然而,需要注意的是这些原因仅适用于编译时。编译器会自动去除未使用的 using 语句。


提示任何人:随意添加您自己的观点。这是一个社区维护的答案。(我不会刷声望的;P) - strager

11

未使用的using语句中最大的“开销”是理解您的代码 :)

删除未使用的using语句可以使您的代码更加整洁,更易于他人阅读和维护。


11

Visual Studio 2008中的C#代码编辑器具有删除未使用using语句的功能。

右键单击并选择Organize Usings | Remove Unused Usings


感谢您的提问。明确指出,Visual Studio 2008及更高版本支持此功能。 - Nima Derakhshanjan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接