这两个代码样例有区别吗?如果没有,那么为什么要使用 using
关键字?
StreamWriter writer;
try {
writer = new StreamWriter(...)
writer.blahblah();
} finally {
writer.Dispose();
}
对比:
using (Streamwriter writer = new Streamwriter(...)) {
writer.blahblah
}
我的意思是,在第二个示例中,您确实应该将其放在try块中,因此添加finally块并不需要更多的努力。我知道整个事情可能被包含在一个更大的try块中,但是对我来说似乎是多余的。
foreach
,它只是调用迭代器方法和属性的更加简洁的版本。 - O. R. MapperUsing
语句似乎与Try-Finally
块相比没有用处。我还看到了这篇MSDN文章,在WCF客户端中也是如此。 - Narayanan