One "using" has nothing to do with another "using". They have nothing in common; this is just the economy of keywords.
First "using" provide a name alias and carry no functionality whatsoever. You can work without a single "using" clause at all, but then you will have to have all names fully qualified.
The second case is using statement. It is a syntactic sugar for automatic call of
System.IDisposable.Dispose
. Practically, you should always use it whenever you need to create an object of the class implementing this interface. It calls
System.IDisposable.Dispose
automatically on the exit of the block even if an exception is thrown. This functionality is strictly equivalent to the instantiation and disposal using try-finally block.
See
http://msdn.microsoft.com/en-us/library/yh598w02.aspx[
^]. By the way, read the language and platform manual, and do it with close attention to detail. If you did it, you would save a lot of time; and this question would not be needed.
—SA