C# · 12月 25, 2021

c# – 冗余的“使用”会降低性能

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

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

解决方法 否 – 使用指令不添加对程序集的引用;他们为同一范围内的代码导入名称空间.他们所做的只是允许你使用 Foo foo = new Foo(); // etc @H_419_2@在你的代码而不是

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