未使用的“使用”声明的开销?

时间:2009-03-13 02:16:52

标签: c# performance using

我刚刚安装了resharper,它让我知道我在每个课程中都没有使用的命名空间。

这引出了我的问题 - 实际上是否存在使用声明留下这些未使用的开销?

这只是代码严密的问题,还是在我不需要时调用这些命名空间会有性能损失?

4 个答案:

答案 0 :(得分:96)

来自The C# Team's answers to frequently asked questions

  

添加装配参考或时   使用'using'关键字,    csc.exe将忽略任何程序集   你还没有真正使用过   你的代码 ...不要[浪费]你的时间剥离   未使用的'using'语句或汇编   来自您的申请的参考。的的   C#编译器会为你这样做   自动

您可以通过调用Assembly.GetReferencedAssemblies()来验证确实是这种情况;你会看到任何未使用的东西实际上都不会包含在列表中。

剥离未使用的主要功能是

  • 更容易看到您的代码实际使用的内容
  • 它会让您的智能感知不会被您实际不会使用的东西污染。

答案 1 :(得分:39)

有一些性能原因可以删除using语句:

  • 当要查看的数据较少时,VS的IntelliSense运行速度更快

但是,请注意所有这些原因都是特定于编译时的。编译器会自动删除未使用的using

答案 2 :(得分:10)

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

删除未使用的代码会使您的代码更加整洁,更容易让其他人阅读和维护。

答案 3 :(得分:10)

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

右键单击并选择组织使用|删除未使用的使用