如果在其中调用 return
,是否会命中 using
block 的末尾?例如,
using( var ur = new UnmanagedResource() )
{
if( SomeCondition == true ){
return SomeReturnValue;
}
}
当 SomeCondition
为 true
时,UnmanagedResource
是否会在 return
之前从 using block 的末尾开始处理> 叫什么?在这种情况下发生的幕后操作顺序是什么?
最佳答案
我不知道“调用返回之前”是什么意思。 “调用”是函数发生的事情,没有称为“返回”的函数。当 return
语句出现在您的程序中时,它会导致几件事情发生:
- 计算并存储返回值表达式。
- 执行返回给调用者。
展开 using
和 finally
block 发生在步骤 1 和 2 之间。
关于c# - 如果在 using block 中调用 return,那么幕后操作的顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12011198/