如果未关闭.NET中的MemoryStream,是否会造成内存泄漏?
我有以下代码:
MemoryStream foo(){ MemoryStream ms = new MemoryStream();
// write stuff to ms
return ms;
}
void bar(){
MemoryStream ms2 = foo();
// do stuff with ms2
return;
}
我分配的MemoryStream是否有可能以后无法以某种方式处置?
我有一个同行审查,坚持要求我手动关闭此链接,但我找不到信息来说明他是否有正确的观点。
回答:
如果某些物品是一次性的,则应始终将其丢弃。您应该using
在bar()
方法中使用一个语句以确保ms2
获取Dispose。
它最终将被垃圾收集器清除,但是调用Dispose始终是一个好习惯。如果在代码上运行FxCop,则会将其标记为警告。
以上是 如果未关闭.NET中的MemoryStream,是否会造成内存泄漏? 的全部内容, 来源链接: utcz.com/qa/398586.html