using语法糖详解 2015-01-06 17:45 50人阅读 评论(0) 收藏

前段事件在using外套try catch 突然想到,如果出现异常 会不会执行释放,不执行的话那服务器很可能导致崩溃...

特意上了CSDN问了大神..得到了答案..



Using相等于try catch finally,异常会清理资源。


Using 块有三个部分:获取、使用和释放。
•获取表示创建变量并将其初始化,以便引用系统资源。Using 语句可获取一个或多个资源,您可以在进入块之前恰好获取一个资源,并将其提供给 Using 语句。如果提供 resourceexpression,在将控制权传递给Using 语句之前,您必须获取资源。
•使用表示访问资源并使用资源执行操作。Using 和 End Using 之间的语句代表资源的使用过程。
•释放表示针对 resourcename 中的对象调用 Dispose 方法。这使该对象可以完全终止其非托管资源。End Using 语句释放 Using 块控制的资源。

行为Using 块的工作方式类似于 Try...Finally 构造,在该构造中,Try 块使用资源,而 Finally 块释放资源。因此,不管您如何退出块,Using 块都可确保资源的释放。即使发生未处理的异常(除 StackOverflowException 外),也是如此。


也就是肯定会释放掉..


版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/GuZhenYin/p/4663045.html