首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

Dispose 的影响力,该怎么解决

2012-04-09 
Dispose 的影响力//\Dispose 的影响力\//C# codeFileStream fs new FileStream(@D:\My File.dat, File

Dispose 的影响力
//\Dispose 的影响力\//

C# code
FileStream fs = new FileStream(@"D:\My File.dat", FileMode.Open);StreamWriter sw = new StreamWriter(fs);sw.WriteLine("It is just a test");sw.Flush();sw.Close();fs.Close();fs.Dispose();//如果我忘写了这一行, 会怎样? 内存会泄漏吗? 会死机吗? 难道.net 内部机制 不会 主动Dispose ?


用请大侠们说说,谢谢。

[解决办法]
会不会内存泄漏取决于这个对象是否使用了非托管的内存。
一般来说,系统内置的类都有防呆的设计,比如你说的FileStream,在解析函数中会调用Dispose的。
[解决办法]
探讨
//\Dispose 的影响力\//

C# code
FileStream fs = new FileStream(@"D:\My File.dat", FileMode.Open);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("It is just a test");
sw.Flush();
sw.Close();
fs.C……

[解决办法]
一般不用Dispose,直接Close就行了。

也不会先Close,再Dispose,这其实是多余的写法。

热点排行