usingステートメントはIDisposableインターフェイスによるリソースの破棄を補助する構文で、オブジェクトのスコープ(有効範囲)を明示するとともに、例外発生の有無に関わらずスコープから抜ける際に自動的にIDisposable.Disposeメソッドを呼び出すようにするものです。
usingステートメントを使った確実なリソースの破棄
using System;
using System.IO;
class Sample {
static void Main()
{
// FileStreamでファイルを開く (FileStreamが、指定されたファイルのファイルハンドルを取得する)
using (var stream = new FileStream("file.dat", FileMode.Open, FileAccess.Read, FileShare.Read)) {
stream.ReadByte();
throw new Exception(); // streamを操作中に例外が発生した場合を想定
} // 仮に例外が発生した場合でも、streamがスコープから抜ける時点で、Disposeメソッドが自動的に呼び出される
}
}
より詳しくは§.usingステートメントで解説します。