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