您的位置:首页 > 编程语言 > C#

c# 防止内存泄露 内存溢出 之using的用法

2016-10-28 00:12 1281 查看
为什么要用using  自动释放资源  标记为回收

using的作用  无聊你是否出错 执行完里面的代码时候  会自动执行Dispose();回收内存  

EG:我打开的数据库的链接 但是 执行语句中出错了   没有执行到 Dispose();的语句  就报错了  但是你程序没有关   现在的问题就是你的链接打开了 没有关  系统无法回收资源  so  造成了内存泄露

using的实现

:只要你的类继承了 IDisposable() 类 推荐使用using     eg: panel  pen, 读取文件啊  等等

//
// 摘要:
// 定义一种释放分配的资源的方法。
[ComVisible(true)]
public interface IDisposable
{
//
// 摘要:
// 执行与释放或重置非托管资源相关的应用程序定义的任务。
void Dispose();
}

 

例子
打开文件的操作使用using,无聊里面代码是否报错

只要执行完

就会被标记为垃圾

using (OpenFileDialog openfile = new OpenFileDialog())
{
openfile.Filter = "jpg jpeg图像文件|*.jpg;*.jpeg|Png图像文件(*.png)" + "| *.png |所有文件(*.*)|*.*";
if (openfile.ShowDialog() == DialogResult.OK && (openFileDialog1.FileName != ""))
{
using (FileStream fs = new FileStream(openfile.FileName, FileMode.Open, FileAccess.Read))
{
image = Image.FromStream(fs);

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  内存溢出 c#