在 C# 9.0 中更新 switch-case 中的多个变量

Update multiple variables in switch-case in C# 9.0

我正在尝试执行一个 switch-case 语句并更新几个变量,但无法弄清楚如何使用 C# 9.0 中的新 switch-case 语法来做到这一点。

这是我正在尝试做的一种:

public static void MyMethod(string value)
{
    string a, b;

    a = value switch
    {
        nameof(value1) => "result1",
        nameof(value2) => "result2",
        _ => "default"
    };
}

我也想更新“b”变量,我知道我可以使用旧语法,也许这是正确的方法,还有其他选择吗?

你可以这样做,使用 tuple deconstruction:

var (a, b) = value switch
{
    "value1" => ("a1","b1"),
    "value2" => ("a2","b2"),
    _ => ("default a","default b")
};