多余的“使用”会降低性能

时间:2011-11-15 15:59:18

标签: c# reference

只是表现问题......

假设我有5个类,每个类都有对System.Data和本地库的引用。有问题的5个类是类库的一部分,最终将构建并发布到一些Web应用程序作为参考。

通过将引用System.Data和其他库的函数添加到它们自己的类中是否有任何大小/性能,以便System.Data和我的其他库被引用的次数从5减少到1? Common Sense告诉我它并不重要,因为DLL会在其中一个函数执行时被读取,因此无论它们位于何处或者您在“使用System.Data”中有多少次都无关紧要代码库...但我以前错了:)

1 个答案:

答案 0 :(得分:10)

否 - using指令不添加对程序集的引用;他们为同一范围内的代码导入名称空间。他们所做的就是允许你使用

Foo foo = new Foo(); // etc
在代码中

而不是

Some.Namespace.Containing.Foo foo = new Some.Namespace.Containing.Foo();

它们根本不会更改引用哪些程序集。理解命名空间和程序集之间的差异很重要 - 不幸的是,因为它们经常使用相同的名称,所以它可能会令人困惑。作为它们不同的示例,Enumerable命名空间中的System.Linq类位于System.Core程序集中。