using语句可以定义一个范围,在范围结束时自动处理(Dispose)对象。
using语句可以自动释放所新建的对象;
作用:① 自动释放,避免缓存,内存溢出;
② 简化try catch 得到在此定义域内自动释放所新建的对象,以简化代码;
场景:
当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。
要达到这样的目的,可以用try...catch来捕捉异常,但用using也很方便。
using (Class1 cls1 = new Class1(), cls2 = new Class1())
{
// the code using cls1, cls2
} // call the Dispose on cls1 and cls2
或
//自动释放所新建的二维码对象
using (MemoryStream ms = new MemoryStream())
{
qrCodeImage.Save(ms, ImageFormat.Jpeg);
returnImageData = ms.GetBuffer();
ms.Close();
}