【发布时间】: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 是如何制作的。