aba*_*hev 8 c# coding-style using-statement
哪种方式更好的做法:从using语句中的方法返回一个值或者之前声明一个变量,将其设置在内部并在之后返回?
public int Foo()
{
using(..)
{
return bar;
}
}
Run Code Online (Sandbox Code Playgroud)
要么
public int Foo()
{
var b = null;
using(..)
{
b = bar;
}
return b;
}
Run Code Online (Sandbox Code Playgroud)
我更喜欢第一个例子.变量更少,代码行更少,更易于遵循,更易于维护......
public int Foo()
{
using(..)
{
return bar;
}
}
Run Code Online (Sandbox Code Playgroud)
using语句确保即使在对象上调用方法时发生异常,也会调用Dispose.您可以通过将对象放在try块中然后在finally块中调用Dispose来实现相同的结果 ; 实际上,这就是编译器如何翻译using语句.
最后用于保证语句代码块的执行, 而不管前面的try块是如何退出的.
要回答你的问题,是的,可以从using语句返回.