<p>What is the purpose of the <code>Using</code> block in C#? How is it different from a local variable?</p>

```
Using
```
calls
```
Dispose()
```
after the
```
using
```
-block is left, even if the code throws an exception.
So you usually use
```
using
```
for classes that require cleaning up after them, like IO.
So, this using block:
```
```
using (MyClass mine = new MyClass())
{
  mine.Action();
}
```
```
would do the same as:
```
```
MyClass mine = new MyClass();
try
{
  mine.Action();
}
finally
{
  if (mine != null)
    mine.Dispose();
}
```
```
Using
```
using
```
is way shorter and easier to read.