c# - 在 using block 中间返回

标签 c# dispose idisposable using-statement

类似于:

using (IDisposable disposable = GetSomeDisposable())
{
    //.....
    //......
    return Stg();
}

我认为这不是返回语句的合适位置,是吗?

最佳答案

正如其他一些人所指出的一般来说这不是问题。

唯一会导致问题的情况是,如果您在 using 语句的中间返回并另外返回 in using 变量。但是话又说回来,即使您没有返回并且只是保留对变量的引用,这也会给您带来问题。

using ( var x = new Something() ) { 
  // not a good idea
  return x;
}

同样糟糕

Something y;
using ( var x = new Something() ) {
  y = x;
}

关于c# - 在 using block 中间返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/662773/

相关文章:

.net - IDataReader.Dispose() 是否关闭连接?

java - 如何从另一个类中处理?

java - jframe配置与mySQL连接关系

WPF BitmapImage 不处理

c# - .Net 中 finalize 的成本

c# - 将模型传递给局部 View

javascript - 在 asp.net webforms 的服务器端初始化 bootstrap datetimepicker

c# - 如何在表单中模拟按钮按下的视觉效果?

c# - 在 main() 中为 SerialPort 添加事件处理程序

c# - 如何使用 C# 参数调用回调