按值列出组列表

时间:2014-09-16 12:39:05

标签: vb.net

我有一个名单,名为:feedJobList。此列表包含FeedJob

的对象

在每个FeedJob中,我的参数为:belongsTo

例如:

我的清单是:

[FeedJob1] - [[FeedJob2] - [FeedJob3]

,同时:

FeedJob1 contains:
    belongsTo: 1
    name: name1

FeedJob2:
    belongsTo: 2
    name: name2

FeedJob3:
    belongsTo: 1
    name: name3

我正在尝试按belongsTo的值将其分组到对象列表列表。

对于这个例子,我想得到一个包含以下内容的新列表:

[ [FeedJob1, FeedJob3], [feedJob2] ]

FeedJob1FeedJob3位于同一列表中,因为它们具有相同的belongsTo值。

我不确定,但也许应该是这样的:

dim listOfLists = For Each item In feedJobList.GroupBy(Function(k)  K.belongsTo)

1 个答案:

答案 0 :(得分:1)

所以你想获得一个List(Of List(Of FeedJob)),其中列表中的每个列表都包含相同的belongsTo?在论坛上使用ToList()

dim listOfLists As List(Of List(Of FeedJob)) = feedJobList.
    GroupBy(Function(fj) fj.belongsTo).
    Select(Function(g) g.ToList()).
    ToList()