48

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

这让我想到了一个问题 - 将这些未使用的 using 声明保留在其中实际上是否有任何开销?

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

4

4 回答 4

99

来自C# 团队对常见问题的回答

当您添加程序集引用或使用 'using' 关键字时, csc.exe 将忽略您在代码中实际上没有使用的任何程序集......不要[浪费]您的时间剥离未使用的' using'语句或应用程序中的程序集引用。C# 编译器会自动为您执行此操作。

Assembly.GetReferencedAssemblies()您可以通过调用;来验证是否确实如此。您会看到未使用的任何内容实际上都不会包含在列表中。

去除未使用的主要用途是

  • 更容易看到您的代码实际使用了什么
  • 它将防止您的 Intellisense 被您实际上不会使用的东西污染。
于 2009-03-13T02:20:54.570 回答
40

using剥离语句有一些性能原因:

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

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

于 2009-03-13T02:23:25.907 回答
10

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

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

于 2009-03-13T02:25:04.483 回答
10

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

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

于 2009-03-13T03:08:02.383 回答