switch 语句中的“case true or true or true when [...]”语法是什么?

问题描述 投票:0回答:1

我的项目中有以下代码片段(我尽可能简化了它):

bool a = false, b = false, c = true;
int x = 0;

if ((a || b || c) && x != 1)
{
    // do something
} else if ((a || b || c) && x < 0)
{
    // do else
}

IntelliJ Rider IDE 为我提供了转换为 switch 语句,然后它给了我这个:

bool a = false, b = false, c = true;
int x = 0;

switch (a)
{
    case true or true or true when x != 1:
        // do something
        break;
    case true or true or true when x < 0:
        // do else
        break;
}

这是什么样的 switch 语法?

true or true or true when
是什么意思,看起来超级多余?最重要的是,
b
c
去哪儿了?

我没想到这种类型的重新格式化,我认为这一定是一个相当新的语言功能? 我检查了 C# 语言文档,但没有找到像这样的情况的解释...

c# syntax switch-statement intellisense rider
1个回答
-1
投票

提议的新代码似乎没有意义。

© www.soinside.com 2019 - 2024. All rights reserved.