冗余'使用'语句?

时间:2015-05-09 11:49:57

标签: c# linq using

CodeAbbey上看一些编程挑战的解决方案,我注意到许多C#解决方案在代码开头实现了以下内容:

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

除了System之外,似乎没有使用这些语句。它们甚至可以用于简单的循环程序。 Ideone示例:1 2 3

这些陈述实际上是否需要代码才能运行,或者它们是否习惯性地添加?

4 个答案:

答案 0 :(得分:1)

IDE(如Visual Studio)通常会在新文件的顶部自动生成using语句列表。

如果不使用代码文件,则应清除这些代码文件。但是,我假设编译器在编译期间将摆脱它们。

答案 1 :(得分:1)

如果在Visual Studio 2013中,使用.NET 4.5项目,添加新项,则可以得到:

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

namespace (yournamespace)
{
    class Class1
    {
    }
}

包括using。如果您不需要它们,可以删除它们(或者您可以更轻松地右键单击,组织使用删除未使用的使用

如果您发现自己需要它们,则右键单击错误 Resolve 使用(某些)非常容易。

请注意,有一个例外:扩展方法。您无法使用扩展方法“自动”解析使用(某些)。出于这个原因,删除using System.Linq可能会很痛苦,因为如果你使用LINQ,你必须“手动”重新添加它(通过输入using System.Linq)。

答案 2 :(得分:1)

不使用顶部的冗余using指令。但是,它们完全无害,前提是由于某些其他原因在项目中引用了相应的DLL。

冗余using指令通常来自代码模板。许多编程商店都会设置这些模板供内部使用,以便源文件的顶部部分看起来一致。

删除冗余using指令可以在需要从模块中删除引用的DLL时简化代码维护。在这种情况下,using指令即使在未使用时也会触发编译错误,因此我建议删除它们。使用可用于using指令自动维护的工具,可以很容易地在程序的顶部维护最小的using集,因此删除未使用的指令不需要大量工作。

答案 3 :(得分:0)

在项目中创建新的类文件时,它们通常会作为模板的一部分添加。您可以安全地删除不使用的那些。一些工具(ReSharper,Roslyn分析器等)将向您显示未使用的using语句,并提供删除它们。