在C#中使用命名空间会影响性能吗?

时间:2016-02-24 15:32:02

标签: c# performance optimization namespaces xna

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

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

在大多数情况下,这些命名空间不必在我的类中使用,因为我不需要显式调用它们提供的方法。我应该从不使用它们的每个班级中删除它们吗?如果我将这些代码留在?

,会对性能产生影响吗?

1 个答案:

答案 0 :(得分:3)

命名空间被编译器“消耗”,并且不存在于编译的代码中。因此,编译后的代码不受存在的using语句数的影响。很明显,如果using太多using(但只有一点点),编译器会慢一点。

您可以从这里看到它:http://goo.gl/T5TIYx在右侧窗格中,有一个由编译器“生成”的IL代码。没有各种using s的痕迹。

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