我很新于c#的linq,遇到了一些困难。
我有一个列表,并且想从中获取特定的信息,就像以下示例:
假设我有以下kidsEat
对象列表:
{NAME=joseph, FOOD=banana, EATEN=true}
{NAME=joseph, FOOD=apple, EATEN=false}
{NAME=billy, FOOD=banana, EATEN=false}
{NAME=billy, FOOD=apple, EATEN=false}
我想知道这个列表中的每一个男孩是否吃过东西。
如果他吃了东西,返回说明他吃了什么的对象。
如果他没有吃,返回一件他没有吃过的随机物品。
因此,此示例应返回以下2个对象的列表:
{NAME=joseph, FOOD=banana, EATEN=true}
{NAME=billy, FOOD=banana, EATEN=false} //banana could be switched to apple, it doesn't matter
好的,我想到了这样一个东西:
KidsList.GroupBy(kid=>kid.NAME).Where().Select(kid=>kid.First())
但我不知道在where子句里应该放什么,因为它会遍历所有行,然后找到是否有一个结果为true,如果是,则放置“true”,否则放置false。感觉需要在LINQ查询中加入一些if else语句。
需要帮助吗?
Name
、Food
、Eaten
或SomethingElse
等。 - atiyar