我见过你可以做到
using System.IO
并使用
Path.GetDirectoryName(blah blah)
或直接使用
System.IO.Path.GetDirectoryName(blah blah);
从性能的角度来看,它们之间是否存在差异?
using System.IO
是否将命名空间中的所有静态类加载到内存中导致使用更多内存,或者框架是否足够智能以避免这种情况?如果是,怎么样?
或者这只是用来避免命名跨命名空间的对象之间的冲突吗?
非常感谢任何见解:)
答案 0 :(得分:6)
不,他们编译到同一个IL。这纯粹是源代码的问题 - 使用短名称而不是完全合格的名称通常更具可读性。
编译结果无论如何都是相同的。
答案 1 :(得分:3)
如果你看一下IL,这两种方法没有区别。所有班级名称都是完全合格的。静态类仅在首次使用类时加载。因此,两种方法在最终代码中都是等效的。
此外,我发现浏览using
声明以查看类在外部事物方面正在做什么更有帮助(例如,执行I / O的类或生成XML的类) )。这与总是声明完全限定的类名相反。