你不能使用switch,你需要一个返回值的结构(switch不会在c#中返回一个值),就像三元运算符一样<cond> ? <trueValue> : <falseValue>.
你可以嵌套它们,它会有点乱,但应该工作.
cond1 ? valueFor1 :
(cond2 ? valueFor2 :
(cond3 ? valueFor3 :
defaultValue))
Run Code Online (Sandbox Code Playgroud)
但在where子句中,将条件与&&和组合起来通常更简单||.