2012-10-31 101 views
0

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

回答

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)