C#のusingは便利ですが、ネストが深くなるという問題もあります。
そう愚痴ると、同時に宣言するなら並べて書くことができる、という
解決策を提案をされることがよくあります。
// ネストが深いなぁ…
using(var a = new ClassA()){
using(var b = new ClassB()){
using(var c = new ClassC()){
...
}
}
}
// こうすると、ネストが1段で済む
using(var a = new ClassA())
using(var b = new ClassB())
using(var c = new ClassC()){
...
}
だけど、よーく考えると以下の書き方はあまりしませんよね。
for (int x = 0; x < 30; x++)
for (int y = 0; y < 30; y++)
for (int z = 0; z < 30; z++){
...
}
if (a == 0)
if (b == 0)
if (c == 0){
...
}
途端に冒頭の解決策が不安になってきます。