使用语句与命名空间路径? C#

我最近停止使用using语句 ,而是使用我调用的任何.net对象的完整命名空间路径。

例:

using System; namespace QuizViewer { class Class1 { Console.WriteLine("Hello World!"); } } 

这就是我现在所做的。

 namespace QuizViewer { class Class1 { System.Console.WriteLine("Hello World!"); } } 

在你问为什么我这样做之前,我正在使用这种风格,以便我可以准确地看到我的对象来自哪里,并且在使用不同的Timer对象和具有相似名称的其他对象时更容易。

这种编程风格是否有任何性能提升或降低?

没有性能差异,因为编译器总是输入全名 – 使用只是编译器的提示,运行时不知道或不支持。

但是,一旦你记住对象来自哪里,你会认为它是愚蠢和冗长的。 噪音很大,人们只知道Path来自System.IO,Console在System中,而StringBuilder在System.Text中。

您的方法的一个缺点:不使用,当前命名空间之外没有扩展方法。 有乐趣写System.Linq.Enumerable.Where(inputSequence,...)而不仅仅是inputSequence.Where(...) 🙂

简答回答:它与编译的代码相同。

我认为这种风格导致程序员性能下降:)。 我使用using语句,通常从代码中可以清楚地知道类所属的命名空间。 如果没有,请按F12。
只是我的2c。

唯一的性能打击,是你用它来打字,以及与你或其他人一起阅读它。

使用语句有助于提高可读性,而不是性能。

没有性能影响; 它主要是一种风格选择。 我发现使用using语句可以减少混乱。 另外,使用Intellisense,可以很容易地看到完全限定的命名空间。

如果您反汇编这两段代码并查看IL代码,您会发现编译器总是通过它的全名引用所有类型。 这与操作类型完全相同。