首页 > 解决方案 > 具有超过 1 个条件检查的三元运算符

问题描述

我有一个场景,为了给变量赋值,我需要检查多个条件,是否可以链接条件。

以下只是我的代码外观的示例格式

Result = (isUser == true && (ResultId == 1 || ResultId == 2 )) ? "Pass" : r.Result,

如果(isUser == true && (ResultId == 1 || ResultId == 2 ))满足条件,那么我是说Result = "Pass"我正在从r.Result.

以同样的方式我想检查另一个条件(isUser == True && (ResultId == 5))然后我想说Result = "Absent"

标签: c#conditional-operator

解决方案


正如评论中所建议的,这对于三元运算符来说太复杂了。如果你有 C#8,那么你可以将它与switch. 就像是:

Result = isUser ? ResultId switch
{
    1 => "Pass",
    2 => "Pass",
    5 => "Absent",
    _ => r.Result
}
: r.Result;

推荐阅读