McCarson.LearningToCode.Week(3);
添加上下文以设置体验期望
我见过开发人员导入库中非常特定元素的代码隐藏引用,以及导入整个库本身的引用,而与所需元素是什么无关。页面需要引用的特定元素节省了多少内存(如果有),以至于仅导入所需元素是否被认为是最佳实践,或者这是一个微不足道的问题? (我确实看到它边缘化了错误的空间)
我研究了 MSDN,没有找到答案,所以在这里提问似乎是一个合乎逻辑的选择
最佳答案
使用/导入首先是一种简写,以避免必须使用完全限定的类型名称(命名空间 + 类名)。
也可能存在性能方面的考虑,但仅限于编写代码时,而不是在运行时。无论您如何编写代码,IL 仍将使用完全限定的类型名。如果您没有给出完全限定的名称,编译器和 Intellisense 必须“猜测”您引用的类所在的使用的命名空间。 95% 的情况下都不会出现任何问题。
从歧义的角度来看,使用/导入整个命名空间可能会出现问题。例如,至少有 3 个具有“Timer”类的命名空间。他们每个人都是不同的类型,具有不同的行为和不同的属性/事件。
如果您使用/导入这些 namespace 中的任何两个,则类名“Timer”不再像“string”或“object”那样含糊不清。因此,突然之间,您必须再次对所有 Timer 实例使用完全限定名称。
因此,在极少数情况下,在全局级别上使用/导入整个命名空间将导致无穷无尽的问题。因此,最好限制 use/include 指令的范围和深度。
关于c# - 就性能而言,使用不必要的 using\imports 声明是否有任何意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48491615/