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

版权声明:欢迎转载,转载请标明原文作者和链接。 如对您有帮助,不胜荣幸,同时也求高人指点 https://blog.csdn.net/a770kfof/article/details/52951606

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

                        }
                    }
                }




展开阅读全文

没有更多推荐了,返回首页