Kyle Uithoven Kyle Uithoven - 1 month ago 6
C# Question

Using Statements vs Namespace path? C#

I recently stopped using "using statements" and instead use the full namespace path of any .NET object that I call.

Example:

using System;

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


This is what I do now.

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


Before you ask why I do this, I am using this style so that I can see exactly where my objects are coming from and its easier when using the different Timer objects and other objects with similar names.

Is there any performance increase or decrease for this style of programming?

Answer

There is zero performance difference because the compiler ALWAYS puts in the full name - using is only a hint for the compiler, the runtime doesn't know or support that.

However, once you memorize where the objects come from you will look at this as silly and verbose. There is just so much noise and people just know that Path is from System.IO, Console is in System and StringBuilder is in System.Text.

One downside of your approach: Without using, no extension methods outside of the current namespace. Have fun writing System.Linq.Enumerable.Where(inputSequence,...) instead of just inputSequence.Where(...) :)

Comments