如果我;使用「;作为二进制编写器,我是否也需要调用CloseF#

如果我;使用「;作为二进制编写器,我是否也需要调用CloseF#,f#,F#,我知道如果我正在使用BinaryWriter,并且我用“use”而不是“let”声明它,那么当我使用完它时,它会自动调用“Dispose”方法。这个Dispose是否也调用BinaryWriter上的“Close”,或者我是否也需要调用Close,以确保底层流也被关闭 use byteWriter = new BinaryWriter(new MemoryStream(bytes)) [1;2;3] |> List.iter(fun s -> byteWriter.Write(int

我知道如果我正在使用BinaryWriter,并且我用“use”而不是“let”声明它,那么当我使用完它时,它会自动调用“Dispose”方法。这个Dispose是否也调用BinaryWriter上的“Close”,或者我是否也需要调用Close,以确保底层流也被关闭

use byteWriter = new BinaryWriter(new MemoryStream(bytes))
[1;2;3] |> List.iter(fun s -> byteWriter.Write(int16(s)))
byteWriter.Close()   // is this needed?
for
BinaryWriter.Close的状态为:

Close的这个实现调用Dispose方法,并传递一个true 价值观

因此不需要,因为退出
使用
的范围时将调用
Dispose

如果查看,您可以看到
Close
Dispose
都只需调用
Dispose(true)