使用VB.NET中的键添加到列表列表中
我有一个使用VB.NET中的键添加到列表列表中,vb.net,linq,list,ienumerable,Vb.net,Linq,List,Ienumerable,我有一个列表(我的对象列表))。我有一个方法,它返回一个列表(MyObject)。我想将每个返回的列表添加到列表列表中。这对于LoL.Add(L)来说很简单。但是,我希望能够通过一个键引用每个列表 例如: Key: "A" MyObject1 MyObject2 Key: "B" MyObject3 MyObject4 MyObject5 我读过十几个类似于本期的问题:,和。我似乎无法修改问题答案中的代码 我读到的所有问题似乎都假设列表很好,而且不是零碎
列表(我的对象列表))
。我有一个方法,它返回一个列表(MyObject)
。我想将每个返回的列表添加到列表列表中。这对于LoL.Add(L)来说很简单。但是,我希望能够通过一个键引用每个列表
例如:
Key: "A"
MyObject1
MyObject2
Key: "B"
MyObject3
MyObject4
MyObject5
我读过十几个类似于本期的问题:,和。我似乎无法修改问题答案中的代码
我读到的所有问题似乎都假设列表很好,而且不是零碎的。我所有的尝试最终都会导致类型转换错误和异常
我不确定是否应该使用I分组
或字典
对象,但我在那里的尝试也失败了
我尝试了反向工程我拥有的另一段代码,其工作方式类似:
Dim assignmentListByDay = _routeAssignments.OrderBy(Function(a) a.AssignmentDate).
GroupBy(Function(a) a.AssignmentDate)
此处,\u routeasignments
的类型为IEnumerable(MyObject的)
assignmentListByDay
变为IEnumerable(关于I组(关于日期,MyObject)
。在我的代码中,我可以执行以下操作:
For Each assignmentList In assignmentListByDay
Dim ucAssignment As New ucSingleDayAssignment With _
{.AssignmentDate = assignmentList.Key,
.Assignments = assignmentList.ToList}
'do stuff
Next
我试图做一些类似的事情,将我的列表列表变成一个列表(I分组(字符串,MyObject)
),但我不知道如何将返回的列表转换成I分组(字符串,MyObject)
,或者这是否是正确的方法
请注意,我可以自由更改返回的内容和各种类型(List
,IEnumberable
,iGroup
,字典
),但我不知道在这种情况下应该使用哪一个。现在看来,我最好的办法是将每个列表添加到一个列表列表或一个巨大的列表中,然后执行GroupBy
。不过,这似乎效率不高
最后,我的目标是迭代每个组,然后迭代该组中的每个列表。如果需要键,列表列表的结构不是正确的。一个选择是
字典(字符串,列表(MyObject))
我使用了这种方法,并取得了成功。我仍然想知道如何正确地创建和操作列表(iGroup…
)。文档中有一个例子有点太深奥(至少对我来说)。我将继续尝试这方面的内容,希望能学到一些新的东西。如果它起作用,我也会将其添加为答案。