我的一个 LINQ 查询有问题,所以我在 LINQPad 中制作了它的简化版本来帮助我。问题是,我不明白为什么它仍然没有做我认为应该做的事情......
var list = "1 2 3 4".Split();
var result = list.FirstOrDefault(x =>
x == "3"
&& true);
result.Dump();
3
就像人们假设的那样,这会回馈。
但是,当我运行这个时:
var list = "1 2 3 4".Split();
var result = list.FirstOrDefault(x =>
x == "3"
&& false ? false : true);
我1
回来。最后一行是实际代码的简化。这两个示例都应该true
在最后一行给出,这将返回3
,但是带有条件运算符的查询在那里抛出了一个扭结。
我错过了什么?