当您调用Close
活动StreamWriter
时,无法再向流中写入任何代码(因为它已被关闭)。要打开另一个流,您必须创建 a 的新实例,StreamWriter
因为没有“打开”方法。
我的问题是,除了关闭流之外Close
,什么Dispose
时候你不能真正使用任何东西有什么意义?Dispose
我可以理解是否有一个Open
功能,即您可以关闭一个文件,然后使用相同的StreamWriter
. 但是因为只有Close
并且除了之后你不能真正使用任何东西Dispose
,为什么不干脆摆脱Close
并Dispose
关闭底层流作为它的第一个动作呢?
我知道这Dispose
来自于IDisposeable
所有这些。我想知道的是为什么无论如何Close
都需要特别需要Dispose
。Close
据我所见,如果无法使用相同的方法打开另一个流,那么当您别无选择时,StreamWriter
没有任何意义,因为所有其他方法都变得无用。Close
Dispose
为什么当它们可以合并成一个方法时StreamWriter
会有麻烦呢?Close
Close
Dispose