【问题标题】:Using namespace explicitly versus including the whole reference显式使用命名空间与包含整个引用
【发布时间】:2012-02-27 21:27:13
【问题描述】:

在 C# 中,从内存管理的角度来看,使用类型化命名空间还是包含整个命名空间更有效?

例如:

using mySpace.someLogic;

public class Foo
{
 public void Bar()
 {
  doSomethingFromsomeLogic();
 }
}

public class Foo
{
 public void Bar()
 {
  mySpace.someLogic.doSomething();
 }
}

一种方法更有效吗?如果答案是“取决于”,那么它取决于什么?

这个问题类似Does including an entire namespace slow things down?,不过问的是速度,我更关心内存。

【问题讨论】:

  • 请注意,您链接的问题的公认答案是“编译器不在乎;它会以两种方式发出相同的 IL,并且您的代码将更短且更易于阅读。”相同的 IL 意味着速度没有差异;这也意味着内存使用没有区别。 using 指令不是可执行语句。
  • @phoog - 谢谢,我实际上并没有意识到这一点,直到 Yuck 回答说不会包含引用,这让我想到了 .dll 是如何制作的。

标签: c# meta


【解决方案1】:

没有区别 - 这完全是个人喜好。编译器对任何一种风格都是一样的。如果在编译期间,它确定您没有使用引用,则不会包含它。

与您的问题相关,Visual Studio 具有清理和删除未使用引用的工具。

【讨论】:

    【解决方案2】:

    作为程序员,它会减慢你的速度,这比减慢计算机速度更重要。

    不过,这对生成的编译代码没有影响。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      相关资源
      最近更新 更多