using Statement
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

using Statement

The using statement defines a scope at the end of which an object will be disposed.

using (expression | type identifier = initializer) statement


An expression you want to call Dispose on upon exiting the using statement.
The type of identifier.
The name, or identifier, of the type type. It is possible to define more than one identifier of type type. Precede each identifier = initializer with a comma.
An expression that creates an object.
The embedded statement or statements to executed.


You create an instance in a using statement to ensure that Dispose is called on the object when the using statement is exited. A using statement can be exited either when the end of the using statement is reached or if, for example, an exception is thrown and control leaves the statement block before the end of the statement.

The object you instantiate must implement the System.IDisposable interface.


// cs_using_statement.cs
// compile with /reference:System.Drawing.dll
using System.Drawing;
class a
   public static void Main()
      using (Font MyFont = new Font("Arial", 10.0f), MyFont2 = new Font("Arial", 10.0f))
         // use MyFont and MyFont2
      }   // compiler will call Dispose on MyFont and MyFont2

      Font MyFont3 = new Font("Arial", 10.0f);
      using (MyFont3)
         // use MyFont3
      }   // compiler will call Dispose on MyFont3


See Also

C# Keywords | using Directive | Implementing Finalize and Dispose to Clean Up Unmanaged Resources

© 2015 Microsoft