例如,我很少需要:

using System.Text;

但它总是默认存在的。如果代码中包含不必要的using指令,我假设应用程序将使用更多内存。但是还有什么我应该注意的吗?

同样,如果同一个using指令只在一个文件中使用,而在大多数/所有文件中使用,会有任何区别吗?


编辑:请注意,这个问题不是关于不相关的概念,称为using语句,旨在帮助管理资源,确保当一个对象超出作用域时,它的IDisposable。方法被调用。参见c#中“using”的用法。


当前回答

如果你想保持你的代码干净,不使用的using语句应该从文件中删除。当你在一个需要理解你的代码的协作团队中工作,认为你所有的代码都必须维护,更少的代码=更少的工作,好处是长期的。

其他回答

这主要是个人喜好。我自己清理它们(ReSharper在告诉我什么时候有不需要的using语句方面做得很好)。

有人可能会说,这可能会减少编译时间,但随着计算机和编译器的速度,这不会产生任何可察觉的影响。

只使用实际使用的名称空间可以使代码保持文档化。

您可以通过任何搜索工具轻松地找到代码的哪些部分相互调用。

如果您有未使用的名称空间,这在运行搜索时没有任何意义。

我现在正在清理名称空间,因为经常有人问我应用程序的哪些部分正在以某种方式访问相同的数据。

我知道哪些部分以不同的方式访问数据,因为数据访问被名称空间分开,例如直接通过数据库和间接通过web服务。

我想不出比这更简单的方法了。

如果你只是想让你的代码成为一个黑盒(对开发人员来说),那么没关系。但是如果您需要长期维护它,那么它就像所有其他代码一样是有价值的文档。

不要忘记编译器在构建项目时做了很多工作来优化所有内容。使用that在很多地方都被使用,或者1在编译后不应该做不同的事情。

using语句不会影响性能,因为它只是限定标识符名称的一个助手。因此,如果你使用System.IO,你不必输入System.IO.Path.Combine(…),你可以简单地输入Path.Combine(…)。

using语句只是阻止您限定所使用的类型。我个人喜欢把它们清理干净。实际上,这取决于如何使用loc度量