当前位置:  开发笔记 > 编程语言 > 正文

在C#中使用using语句

如何解决《在C#中使用using语句》经验,为你挑选了1个好方法。

使用语法可以(应)被用作限定用于任何实现一个范围的一种方式IDisposable的.using语句确保在发生异常时调用Dispose.

    //the compiler will create a local variable 
    //which will go out of scope outside this context 
    using (FileStream fs = new FileStream(file, FileMode.Open))
    {
         //do stuff
    }

或者你可以使用:

    FileStream fs;
    try{
       fs = new FileStream();
       //do Stuff
    }
    finally{
        if(fs!=null)
           fs.Dispose();
    }

从MSDN额外阅读

C#通过.NET Framework公共语言运行库(CLR)自动释放用于存储不再需要的对象的内存.记忆的释放是不确定的; 只要CLR决定执行垃圾收集,就会释放内存.但是,通常最好尽快释放文件句柄和网络连接等有限资源.

using语句允许程序员指定何时使用资源的对象应该释放它们.提供给using语句的对象必须实现IDisposable接口.此接口提供Dispose方法,该方法应释放对象的资源.



1> cgreeno..:

使用语法可以(应)被用作限定用于任何实现一个范围的一种方式IDisposable的.using语句确保在发生异常时调用Dispose.

    //the compiler will create a local variable 
    //which will go out of scope outside this context 
    using (FileStream fs = new FileStream(file, FileMode.Open))
    {
         //do stuff
    }

或者你可以使用:

    FileStream fs;
    try{
       fs = new FileStream();
       //do Stuff
    }
    finally{
        if(fs!=null)
           fs.Dispose();
    }

从MSDN额外阅读

C#通过.NET Framework公共语言运行库(CLR)自动释放用于存储不再需要的对象的内存.记忆的释放是不确定的; 只要CLR决定执行垃圾收集,就会释放内存.但是,通常最好尽快释放文件句柄和网络连接等有限资源.

using语句允许程序员指定何时使用资源的对象应该释放它们.提供给using语句的对象必须实现IDisposable接口.此接口提供Dispose方法,该方法应释放对象的资源.


+1 - 很好的答案 - 重要的是要注意编译器实际上用try/finally替换using语句.
推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有