usingステートメントでは、宣言部で複数のオブジェクトを指定することができます。 単一行で複数のローカル変数を宣言するのと同様に、使用するオブジェクトをカンマ,
で区切って記述します。 以下の例はusingステートメントで二つのStreamを作成・使用する例です。
単一のusingステートメントで複数のオブジェクトを使用する
using System;
using System.IO;
class Sample {
static void Main()
{
// "source.txt"を読み込むストリームと、"dest.txt"に書き込むストリームを作成し、使用し終わったら破棄する
using (Stream fromStream = File.OpenRead("source.txt"), toStream = File.OpenWrite("dest.txt")) {
// fromStreamの内容をtoStreamにコピーする
// (ファイルsource.txtの内容をdest.txtにコピーする)
fromStream.CopyTo(toStream);
}
// (比較として)単一行での複数のローカル変数宣言
int x = 0, y = 0;
}
}
この例で使用しているCopyToメソッドは.NET Framework 4以降で使用可能なメソッドです。 StreamクラスやCopyToメソッドについてはストリームの基本とStreamクラスを参照してください。