如何根据其中一个属性拆分列表?

时间:2012-10-31 14:31:16

标签: vb.net list

我有一个x数量的对象列表,每个对象都有一个与其所属的组相对应的关联guid(object.groupGUID)。在这个列表中,可以说3个不同的组指南。我想通过groupGUID将此列表分成3个单独的列表。关于如何解决这个问题的任何建议?我是否可以将find方法与GUID相关的搜索条件一起使用?

1 个答案:

答案 0 :(得分:2)

您可以使用Linq创建Dictionary(Of Guid, List(Of YourClass))

Dim dict As Dictionary(Of Guid, List(Of Foo)) =
        list.GroupBy(Function(obj) obj.groupGUID).
        ToDictionary(Function(grp) grp.Key, Function(grp) grp.ToList())

现在您可以查找GUID:

Dim objectsForGivenGuid As List(Of Foo) = dict(yourGuid)