我刚刚安装了resharper,它让我知道我在每个课程中都没有使用的命名空间。
这引出了我的问题 - 实际上是否存在使用声明留下这些未使用的开销?
这只是代码严密的问题,还是在我不需要时调用这些命名空间会有性能损失?
答案 0 :(得分:96)
来自The C# Team's answers to frequently asked questions:
添加装配参考或时 使用'using'关键字, csc.exe将忽略任何程序集 你还没有真正使用过 你的代码 ...不要[浪费]你的时间剥离 未使用的'
using
'语句或汇编 来自您的申请的参考。的的 C#编译器会为你这样做 自动强>
您可以通过调用Assembly.GetReferencedAssemblies()
来验证确实是这种情况;你会看到任何未使用的东西实际上都不会包含在列表中。
剥离未使用的主要功能是
答案 1 :(得分:39)
有一些性能原因可以删除using
语句:
但是,请注意所有这些原因都是特定于编译时的。编译器会自动删除未使用的using
。
答案 2 :(得分:10)
未使用的语句中最大的“开销”是理解你的代码:)
删除未使用的代码会使您的代码更加整洁,更容易让其他人阅读和维护。
答案 3 :(得分:10)
Visual Studio 2008中的C#代码编辑器具有删除未使用的使用语句的功能。
右键单击并选择组织使用|删除未使用的使用。