dav*_*led 8 c# idisposable using
有这个代码:
using (BinaryWriter writer = new BinaryWriter(File.Open(ProjectPath, FileMode.Create)))
{
//save something here
}
Run Code Online (Sandbox Code Playgroud)
我们需要关闭BinaryWriter吗?如果没有,为什么?
Luk*_*keH 18
只要它全部包含在一个using块中,那么你就不需要显式调用了Close.
该using块将确保对象被丢弃,Close并且Dispose方法可以互换BinaryWriter.(该Close方法只是Dispose在幕后调用.)
使用您那里的代码,一旦退出 using 块,它将关闭文件,因此您不需要显式调用 close 。
不使用 using 语句的唯一原因是,如果您希望文件在完成 BinaryWriter 后仍然打开,在这种情况下,您应该保留它的引用,而不是像这样将其传递到构造函数中。