2012年6月27日水曜日

C# usingの多段重ね

usingの多段重ね

上記のようにusingがネストしているときは、下記のように書くことができます。

public void Func() {
    using (FileStream fs = new FileStream("test.txt", FileMode.Read))
    using (StreamReader sr = new StreamReader(fs)) {
        try {
            // 処理する
        }
        catch () {
            // 例外処理
        }
    }
}
1つ目のusingの末尾に";"も"{"も無いところに注意してください。
構文的にはなんとも気持ち悪いですが、結構便利です。 また、できあがったILは普通にネストして書いたときとまったく同じです。

元ネタ http://www.divakk.co.jp/aoyagi/csharp_tips_using.html

0 件のコメント:

コメントを投稿