我有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,選擇返回數據 –