McCarson.LearningToCode.Week(3);
Adding to give context to set experience expectations
我见过开发人员在库中导入非常具体元素的代码,并导入整个库本身的引用,与所需元素无关。保存了多少内存(如果有的话),并且需要为页面引用所需的特定元素,以至于只考虑导入所需元素的最佳实践还是一个微不足道的问题? (我确实看到它边缘化了错误的空间)
I researched MSDN, did not find the answer so asking here seems like a logical choice
答案 0 :(得分:3)
当不需要但时,它可以忽略不计1}} / getItem
它也会损害性能(取决于您的程序和引用的程序集大小和超敏感性)表演)和糟糕的编程习惯
每个using
/ imports
语句的含义是编译器将搜索该程序集中的属性/方法/类等。您还必须考虑using
语句的顺序 - 编译器将根据using语句的顺序进行搜索。
imports
正如@Chillzy在他的评论中写道,VS将会着色 暗灰色的不必要的进口。
答案 1 :(得分:1)
使用/ Importing首先是一种速记,以避免使用完全限定的类型名称(Namespace + Classname)。
也可能存在性能方面的考虑因素,但仅在编写代码时 - 而不是在运行时。无论您如何编写代码,IL仍将使用完全限定的类型名称。如果你没有给出一个完全限定的名字,那么Compiler和Intellisense必须在你所引用的类所使用的命名空间中“猜测”。 95%的案例没有任何问题。
使用/导入整个命名空间从Ambiguity的角度来看可能会出现问题。例如,至少有3个带有“Timer”类的命名空间。它们中的每一种都是不同的类型,具有不同的bebavior和不同的Proeprties / Events。
如果您使用/导入其中任意两个Namesapces,则类名“Timer”不再像“string”或“object”那样具有模仿性。所以突然之间,你必须再次使用所有Timer实例的完全限定名称。
因此,在非常罕见的情况下,在全局级别使用/导入整个命名空间将导致问题无法解决。因此,最好限制use / include指令的范围和深度。