日期:2014-05-17  浏览次数:20605 次

关于释放资源的一个小问题请教
C# code

            Image image = Image.FromFile(***);
            Image result= SomeMethod(image);
            image.Dispose();
            return result;



如果不创建image 这个临时变量,这样写:

C# code

            Image result= SomeMethod(Image.FromFile(***));
            return result;



请问,这两个写法是否有区别?第二个是否会造成资源没有及时释放?

------解决方案--------------------
第一种写法是错的。
------解决方案--------------------
过程结束后,局部变量就会消失,系统自动回收
------解决方案--------------------
第一种写法,当SomeMethod返回的还是Image的引用的时候,是错的。