joh*_*eur 10 .net c# performance using-directives
在C#中,当您为命名空间添加using指令时,它允许您访问该特定命名空间中的所有类型.但是,如果命名空间有很多类型,我只需要一个特定的类型,我经常只使用完全限定的名称,认为我不想提供任何不必要的类,我知道我不会使用(特别是如果出于性能原因,在该命名空间中有很多它们.我认为必须对性能产生一些影响(无论多么微小)才能使它们可用而不是,但是多少?(如果确实存在).如果是这样的话,那么在整个地方做这件事会不会是不好的做法,因为它不会开始累积到一些明显的(表现明智的)?
我确实看到了关于使用指令与完全限定名称的其他SO帖子using,但它没有参考性能.
O. *_*per 21
该using指令只是在编译期间消失的语法糖.命名空间是否包含using在完全限定类型名称中或在完全限定类型名称中提及与结果字节码完全无关.因此,通过使用一个或另一个,在运行时没有性能优势.
没有区别.
它可能具有可忽略的(即可能不可测量的)对编译器性能的影响/好处(如运行msbuild时),但在运行时IL明确知道预期的类型,因为它在代码中作为类型句柄被烘焙.除非使用反射,否则没有"搜索"类型.