【发布时间】:2017-01-06 17:16:13
【问题描述】:
我有 2 个 LINQ 查询,一个返回我期望的结果,另一个没有,我试图了解原因。我试图从 Config 中的所有节点中找出是否有一个名为“TEST”的节点,并且其 Selected 属性为 True。
查询 1 - 返回正确的内容具有 Any() 内的条件:
var res1 =
(from config in _config.CurrentSettings.Config let name = config.name select config).Any(
config => config.name.Equals("TEST") && config.selected == true);
查询 2 失败,在 Select 内有条件:
(_config.CurrentSettings.Config.Select(config => config.name.Equals("TEST") && config.selected))
.Any();
【问题讨论】:
-
Select返回一个IEnumerable<bool>你需要使用Where来过滤输入序列。 -
let name = config.name在做什么?它显然没用 -
任何返回布尔值,选择返回数据
标签: c# linq ienumerable