我使用 LINQ 和Lambda 表达式已经有一段时间了,但我仍然对这个功能的各个方面并不完全满意。
所以,当我最近在做一个项目时,我需要根据一些属性获取一个不同的对象列表,我遇到了这段代码。它有效,我对此很好,但我想了解分组机制。如果我能提供帮助,我不喜欢简单地插入代码并逃避问题。
无论如何,代码是:
var listDistinct
=list.GroupBy(
i => i.value1,
(key, group) => group.First()
).ToList();
在上面的代码示例中,您首先调用GroupBy
并传递一个 lambda 表达式,告诉它按属性分组value1
。代码的第二部分引起了混乱。
我知道这key
是value1
在(key, group)
声明中的引用,但我仍然没有完全理解正在发生的一切。