看下面的if声明:
var veryLongVariableName = 7;
if (veryLongVariableName > 5 && veryLongVariableName < 18 && veryLongVariableName != 13)
{
//do something...
}
Run Code Online (Sandbox Code Playgroud)
有没有办法以更简单的方式编写这个,这样变量名就不会在表达式内重复3次if?我正在寻找一种也适用于其他值类型/引用类型的解决方案。
Joh*_*lay 13
如果您使用的是 C#9,则可以使用and:
var veryLongVariableName = 7;
if (veryLongVariableName is > 5 and < 18 and not 13)
{
//do something...
}
Run Code Online (Sandbox Code Playgroud)
由于您要检查常量值,因此您可以创建一个逻辑模式is,其后使用and,or和not。
这也使用关系模式(使用<、>和运算<=符>=);另一个 C#9 模式匹配增强功能。