Какой способ лучше использовать: вернуть значение из метода внутри оператора using
или объявить переменную раньше, установить ее и вернуть ее после?Лучшая практика возврата от использования блоков
public int Foo()
{
using(..)
{
return bar;
}
}
или
public int Foo()
{
var b = null;
using(..)
{
b = bar;
}
return b;
}
Кто-то всегда должен указывать это - блок finally будет * не * «гарантирован» выполненным вообще. Есть четко определенные обстоятельства, при которых они будут выполняться, а другие - там, где это не будет. –
Есть примеры, где этого не будет? –
@Earwicker: если случаи, когда он не будет исполнен, составляют <0.01%, то я думаю, что для большинства целей мы можем сказать, что это «гарантировано». –