我一直在使用LINQ和Lambda Expressions一段時間,但我仍然不完全熟悉該功能的各個方面。你能解釋一下這個lambda分組函數嗎?
所以,當我最近在一個項目上工作時,我需要根據一些屬性獲得一個清晰的對象列表,並且我跑過了這段代碼。它的工作原理,我很好,但我想了解分組機制。我不喜歡簡單地插入代碼並逃避問題,只要我能幫上忙。
反正的代碼是:
var listDistinct
=list.GroupBy(
i => i.value1,
(key, group) => group.First()
).ToList();
在上面的代碼示例中,你首先調用GroupBy
並使其lambda表達式告訴它組由屬性value1
。代碼的第二部分引起了混淆。
據我所知,key
在(key, group)
聲明中引用value1
,但我仍然沒有對發生的所有事情進行包袱。
謝謝Eric。文件相當清楚。我是否理解上述場景中使用的「組」不是保留字,我可以爲該lambda傳入更多描述性名稱?這很有幫助 - 我絆倒了,認爲這個組織是這個操作的保留字,但是知道其他情況會使它對於發生的事情更加明顯。 – elucid8 2013-02-28 16:04:26
另外,您是老闆,先生。 – elucid8 2013-02-28 16:14:42
@ elucid8:我會更新我的答案以解決您的第二個問題。 – 2013-02-28 16:27:37