【问题标题】:Is performance affected by using namespaces in C#? [duplicate]在 C# 中使用命名空间会影响性能吗? [复制]
【发布时间】:2016-06-06 23:38:13
【问题描述】:

我正在使用 XNA 4.0 和 C# 创建游戏。每当我创建一个新类时,它总是会在顶部生成以下四行代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

在大多数情况下,我的类中不需要使用这些命名空间,因为我不需要显式调用它们提供的方法。我应该从每个不使用它们的类中删除它们吗?如果我保留这些代码行,是否会对性能产生影响?

【问题讨论】:

    标签: c# performance optimization namespaces xna


    【解决方案1】:

    命名空间由编译器“使用”,并且不存在于已编译的代码中。所以编译后的代码不受using 语句数量的影响。显然,如果usings 太多(但只有一点点),编译器会变慢一点。

    您可以从这里看到它:http://goo.gl/T5TIYx 在右侧窗格中有由编译器“生成”的 IL 代码。各种usings都没有踪影。

    如果你有太多using,编译器会慢一点,因为当你引用一个类型时,它必须检查每个命名空间是否有你引用的类型,并且它不能在一开始就停止“成功”,因为 C# 编译器会告诉您即使存在一些歧义(在两个不同命名空间中具有相同名称的类)

    【讨论】:

      猜你喜欢
      • 2011-05-21
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 2012-01-11
      • 2012-08-15
      • 1970-01-01
      相关资源
      最近更新 更多