【问题标题】:c# using namespace statement orderingc# using namespace 语句排序
【发布时间】:2011-09-26 10:50:54
【问题描述】:

我以为我在某处读到,订购您的 using 语句并删除未使用的语句具有某种性能优势...但我似乎找不到任何证据或资源来支持这一点...有什么真相吗到这个?

【问题讨论】:

  • 对我来说听起来是错误的。无论如何,以什么方式订购它们?
  • 它可能对性能产生的唯一影响是 Visual Studio 的智能感知,但这通常不是 VS 2010 和现代 PC 的问题。类型都是在编译时绑定的,因此使用不会影响运行时性能(请参阅@keyboardP 关于 IL 代码的答案)。
  • 嗯,我不记得我在哪里听到或读过它...或者我可能混淆了其他东西...似乎逻辑是如果您以某种方式订购它们,它们就会被加载到内存中,这样它会更有效,甚至可能更快......比如整理你的命名空间或其他东西......我不知道 :) 显然,我在谷歌上找不到任何关于它的原因是因为它显然是纯粹的虚构: )

标签: c# .net performance namespaces using


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    来自msdn

    使用命名空间指令 相同的编译单元或命名空间 身体互不影响,可以 可以按任意顺序书写。

    非常想访问useful link

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        不会有。至少肯定不是在运行时。可能在构建时需要一些额外的时间来处理它们,但这并不明显。 using 语句不会被转移到 IL 代码中,所有东西都有它的全名,所以它只是一个构建时的东西。

        现在,就个人而言,我热键“排序和删除 usings”并不断点击它,只是因为它使代码更干净。但这只是一种强迫症:)

        【讨论】:

        • 我今天早些时候在想,如果您只需要为不明确的类型指定 using 语句,那就太好了。所以我不必指定using System; 来访问String 等:-)
        猜你喜欢
        • 2011-10-14
        • 1970-01-01
        • 2013-05-07
        • 1970-01-01
        • 2011-09-17
        • 2011-03-05
        • 2010-11-23
        • 2018-08-04
        • 2019-02-05
        相关资源
        最近更新 更多