UsingC#中的块的目的是什么?它与局部变量有何不同?
Using
如果该类型实现IDisposable,它将自动对其进行处理。
鉴于:
public class SomeDisposableType : IDisposable { ...implmentation details... }
这些是等效的:
SomeDisposableType t = new SomeDisposableType(); try { OperateOnType(t); } finally { if (t != null) { ((IDisposable)t).Dispose(); } } using (SomeDisposableType u = new SomeDisposableType()) { OperateOnType(u); }
第二个更易于阅读和维护。