我知道C# 8 switch expression返回值或属性匹配的方法的语法。但是如果我们只需要打开一个字符串值并执行一个不返回任何内容(没有返回类型/void)的方法,那么我们该怎么做呢?我正在考虑某种形式的 Func 但不确定确切的语法。我知道我们可以用常规的 case 语句用旧的方式来做,但试图看看我们是否可以用新的语法实现同样的效果。
这是问题的例子
switch (stringvalue)
{
case "Add": Add(); break;
case "Subtract": Subtract(); break;
}
Run Code Online (Sandbox Code Playgroud)
可能是这样的:
stringvalue switch
{
"Add" => Add(),
"Subtract" => Subtract()
}
// but this complains that there needs to be assignment on left side for this
Run Code Online (Sandbox Code Playgroud)
这可能吗?
让我们说这是情况:
[Stored Proc 1]
BEGIN
BEGIN TRANSACTION
...
exec sp 2
COMMIT
END
Run Code Online (Sandbox Code Playgroud)
现在,如果SP 2 - 由于某种原因回滚,SP 1 - 提交或回滚还是抛出异常?
谢谢.
async abc(){
await some().then(() => {
//do inside then
});
//other code
}
Run Code Online (Sandbox Code Playgroud)
"await" 是只等待 some() 还是等待 some() 及其 then(),然后再转到 //other 代码?基本上问题是,在转到下一个语句之前,等待是否也在 then 部分完成。