在linq的where子句中切换case

时间:2011-03-14 06:33:05

标签: linq-to-sql

我如何在where子句和select语句中使用switch case,任何人都可以给我一些例子......

1 个答案:

答案 0 :(得分:7)

你不能使用switch,你需要一个返回值的构造(switch不会在c#中返回一个值),就像ternary operator <cond> ? <trueValue> : <falseValue>一样。

你可以嵌套它们,它会有点乱,但是应该可以工作。

cond1 ? valueFor1 :
       (cond2 ? valueFor2 : 
               (cond3 ? valueFor3 : 
                        defaultValue))

但在where-clause中,将条件与&&||结合起来通常更为简单。