在C#中使用名称空间是否会影响性能?

在C#中使用名称空间是否会影响性能?,c#,performance,optimization,namespaces,xna,C#,Performance,Optimization,Namespaces,Xna,我正在用XNA4.0和C#创建一个游戏。每当我创建一个新类时,它总是在顶部生成以下四行代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; 在大多数情况下,这些名称空间在我的类中不必使用,因为我不需要显式调用它们提供的方法。我是否应该从没有使用它们的每个类中删除它们?如果将这些代码行保留在中,是否会对性能产生影响?编译器会“使用”名称空间,而编译后的代码中不存在名称空间。

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
在大多数情况下,这些名称空间在我的类中不必使用,因为我不需要显式调用它们提供的方法。我是否应该从没有使用它们的每个类中删除它们?如果将这些代码行保留在中,是否会对性能产生影响?

编译器会“使用”名称空间,而编译后的代码中不存在名称空间。因此,编译后的代码不受使用当前状态的
数量的影响。显然,如果使用
s的
太多(但只有一点点),编译器会慢一点

您可以从这里看到:在右侧窗格中,有由编译器“生成”的IL代码。没有使用
s的各种
的痕迹

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