c#使用命名空间语句排序

我以为我读到某个地方,订购你的使用陈述并摆脱未使用的陈述有一些性能上的好处……但我似乎无法找到任何证据或资源来支持这个……这有什么道理吗?

来自msdn

在同一个编译单元或命名空间体中的using-namespace-directives不会相互影响,可以按任何顺序编写。

非常useful link你想访问。

不,用于设置命名空间的using语句没有性能成本。 无论语句的顺序如何,生成的IL代码都是相同的。 唯一的优点是清晰度和可读性。 此外,删除未使用的将加快编译时间,但运行时性能将没有任何不同。

其他评论者未提及的另一个问题:您的using语句会影响Intellisense中出现的内容(特别是对于扩展方法)。 删除未使用的语句将使您的Intellisense表现更好,并且只显示相关的扩展方法。

不会有。 至少肯定不是在运行时。 在构建时可能需要一些额外的时间来处理它们,但它不会是显而易见的。 using语句不会转移到IL代码中,而是所有内容都有其全名,因此它只是构建时的事情。

现在,就个人而言,我热键“排序和删除使用”并不断点击它,只是因为它使代码更清洁。 但它只是一个强迫性的事情:)