0
我想選擇一個ID
其中Ilist<T>
2個布爾屬性等於真正如何從ILIST <T>得到一個屬性,而其他屬性爲True
myList.Select(t => t.IsValid && t.IsBalance).Distinct().ToList();
,但如果我想返回,只選擇t.ID
其中t.IsValid
和t.IsBalance
該怎麼辦?我找不到一個例子
謝謝
我想選擇一個ID
其中Ilist<T>
2個布爾屬性等於真正如何從ILIST <T>得到一個屬性,而其他屬性爲True
myList.Select(t => t.IsValid && t.IsBalance).Distinct().ToList();
,但如果我想返回,只選擇t.ID
其中t.IsValid
和t.IsBalance
該怎麼辦?我找不到一個例子
謝謝
使用Where
for the filtering和Select
for projection:
myList.Where(t => t.IsValid && t.IsBalance).Select(t => t.ID).Distinct().ToList();
您還可以使用查詢語法:
var result = (from t in myList
where t.IsValue && t.IsBalance
select t.ID).Distinct().ToList();
哦,任何想法,爲什麼投影和濾波在IList接口中是如此令人困惑,並且背離了典型的SQL操作? hahah通常我們首先比我們過濾項目。無論如何,我非常感謝你的幫助,謝謝! – napi15
@ napi15 - 在SQL中'select'用於確定要檢索的字段而不是任何記錄篩選。此外,在SQL中,當您的查詢執行時,它首先執行where子句(如果存在),然後才選擇。 –
@ napi15 SQL有它倒退,所以我想常規的方式可能看起來令人困惑後,被用於向後的SQL方式:] – Slai