我有2 LINQ查询,一个返回我期望的,另一个不,我试图理解为什么。我试图找出Config中的所有节点是否有一个名为“TEST”的节点,其Selected属性为True。这2个LINQ查询有什么区别?
查询1 - 它返回正确的事情有内部的任何条件():
var res1 =
(from config in _config.CurrentSettings.Config let name = config.name select config).Any(
config => config.name.Equals("TEST") && config.selected == true);
查询2,它失败了,有内选择条件:
(_config.CurrentSettings.Config.Select(config => config.name.Equals("TEST") && config.selected))
.Any();
'Select'返回'IEnumerable'您需要使用'Where'来过滤输入序列。 –
Lee
'let name = config.name'在做什么?其无用的 –
任何返回bollean,选择返回数据 –