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

为什么要用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); 

                        }
                    }
                }




  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值