是的,
StreamReader,
StreamWriter,
BinaryReader和
BinaryWriter所有关闭/处置其底层流时,你叫
Dispose他们。如果读取器/写入器只是垃圾回收,则它们
不会 处理流-您应该始终处理读取器/写入器,最好使用
using语句。(实际上,这些类都不具有终结器,也不应该具有终结器。)
就个人而言,我也希望对流也具有using语句。您可以
using整齐地嵌套语句而无需大括号:
using (Stream stream = ...)using (StreamReader reader = new StreamReader(stream, Encoding.Whatever)){}
即使
using该流的语句有点多余(除非
StreamReader构造函数抛出异常),我还是将其视为最佳实践,因为如果您删除了
StreamReader并在以后直接使用该流,则您将已经得到了正确的处理语义。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)