在 C# 中使用命名空间是否会影响性能
本文关键字:是否 影响 性能 命名空间 | 更新日期: 2023-09-27 18:36:05
我正在用XNA 4.0和C#创建一个游戏。每当我创建一个新类时,它总是在顶部生成以下四行代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
在大多数情况下,这些命名空间不需要在我的类中使用,因为我不需要显式调用它们提供的方法。我应该从不使用它们的每个类中删除它们吗?如果我保留这些代码行,是否会影响性能?
命名空间
由编译器"使用",并且不存在于已编译的代码中。因此,编译的代码不受存在的using
状态数量的影响。显然,如果using
太多(但只有一点点),编译器会变慢一点。
您可以从这里看到它: http://goo.gl/T5TIYx 在右侧窗格中,有编译器"生成"的 IL 代码。没有各种using
的痕迹。
如果你有太多using
编译器会变慢一点,因为当你引用一个类型时,它必须检查每个命名空间是否有你引用的类型,并且它不能在第一次"成功"时停止,因为 C# 编译器会告诉你即使有一些歧义(两个不同命名空间中同名的类)