小编E.M*_*ich的帖子

具有 if else 条件的 Linq GroupBy 对象

我是 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}
Run Code Online (Sandbox Code Playgroud)

从这个列表中,我想知道每个男孩是否吃过任何东西。

如果他确实吃了什么东西,它会带走说他吃过的东西。

如果他没有吃东西,它会在他没有吃东西的地方随机抽取一个。

因此,此示例应返回以下 2 个对象的列表:

{NAME=joseph, FOOD=banana, EATEN=true}

{NAME=billy, FOOD=banana, EATEN=false}     //banana could be switched to apple, it doesn't matter
Run Code Online (Sandbox Code Playgroud)

所以。我想到了这样的事情:

KidsList.GroupBy(kid=>kid.NAME).Where().Select(kid=>kid.First())
Run Code Online (Sandbox Code Playgroud)

但我不知道在 where 子句中放什么,因为它就像遍历所有行,然后查找其中一个是否为真,如果是,则输入“真”,否则输入假。感觉它需要一些 if else 在 LINQ 查询中。

有什么帮助吗?

c# linq

3
推荐指数
1
解决办法
71
查看次数

标签 统计

c# ×1

linq ×1