用相同的try / finally块替换using语句

时间:2017-02-15 12:28:07

标签: c# .net dispose memorystream

如何用try / finally块替换这个语句?

using(MemoryStream ms = new MemoryStream()){}

这是正确的方法吗?

MemoryStream ms = new MemoryStream();
try
{
   //code
}
finally
{
   ms.Dispose();                
}

1 个答案:

答案 0 :(得分:3)

就像这样:

MemoryStream ms = null;
try
{
   ms = new MemoryStream();

   //code
}
finally
{
   if (ms != null) ms.Dispose();                
}

原因是仅仅实例化可能会产生一次性资源。