如果未关闭.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是否有可能以后无法以某种方式处置?

我有一个同行审查,坚持要求我手动关闭此链接,但我找不到信息来说明他是否有正确的观点。

回答:

如果某些物品是一次性的,则应始终将其丢弃。您应该usingbar()方法中使用一个语句以确保ms2获取Dispose。

它最终将被垃圾收集器清除,但是调用Dispose始终是一个好习惯。如果在代码上运行FxCop,则会将其标记为警告。

以上是 如果未关闭.NET中的MemoryStream,是否会造成内存泄漏? 的全部内容, 来源链接: utcz.com/qa/398586.html

回到顶部