There are two kinds of using directives: using-namespace directives and using-alias directives. A using-namespace directive like:
using System;
means that any of the classes of the System namespace can be used in the subsequent code without qualification. It is similar to Java's:
import java.util.*;
If you have a lot of these kind of using directives, then, when you look at the code that follows, it is difficult to detect from which namespace a class belongs.
An alternative approach is to use a using-alias directive to give an alias for a class:
using Console = System.Console; using Thread = System.Threading.Thread; ... Console.WriteLine("Hello world"); Thread.Sleep(3000);
Using this approach, you would need one using directive for each class that is used in the code.