c# 具有 FileStream 类并包装 OS 文件句柄。FileStream 具有析构函数,考虑我们从 FileStream 获取实例并忘记它,如果没有任何引用,GC 必须调用它的析构函数并释放 OS 文件句柄,那么为什么它不会发生,直到我自己调用它的处置或应用程序终止?
慕标5832272
浏览 81回答 2
2回答
MMTTMM
FileStream 实现了 IDisposable,这意味着您必须调用 Dispose。请参阅上一个问题我需要处置 FileStream 对象吗?MS自己告诉你这个https://learn.microsoft.com/en-us/dotnet/api/system.io.filestream?view=netframework-4.7.2最简单的方法是使用“使用”语句 using (FileStream fs = File.Create(path)) { AddText(fs, "This is some text"); AddText(fs, "This is some more text,"); AddText(fs, "\r\nand this is on a new line"); AddText(fs, "\r\n\r\nThe following is a subset of characters:\r\n"); for (int i=1;i < 120;i++) { AddText(fs, Convert.ToChar(i).ToString()); } }