iDisposable
大家都知道, .NET是分托管和非托管.
当我们要释放一些内存的时候, 我们可以使用IDisposable. 支持IDisposable接口的对象必须实现Dispose()方法.
但是c# 允许使用一种可以优化使用这个方法的结构. Using 关键字.
Program program = new Program(); using (program) { // Code here. }
Using的职责
在编译阶段, 编译器会自动将using语句生成try-finally语句. 并且在finally块中调用Dispose method来清理资源. 所以, using 语句等效于try-finally语句.