尝试编写一个方法,将列表拆分为子列表。
Private Function SplitIdsIntoChunks(ByVal keys As List(Of String)) As List(Of List(Of String))
Return keys _
.Select(Function(x, i) New With {Key .Index = i, Key .Value = x}) _
.GroupBy(Function(x) (x.Index / 10000)) _
.Select(Function(x) x.Select(Function(v) v.Value).ToList()) _
.ToList()
End Function
我使用了来自这里的C#解决方案。
C#解决方案运行良好。
我用VB编写的版本返回一个只有一个元素的列表集合,而不是10000个。 我哪里错了?
提前感谢。
编辑1:
用法:
Dim chunks As List(Of List(Of String)) = SplitIdsIntoChunks(keys)
'Keys'内容:
我的方法返回一个列表,其中每个列表中只有一个项目:
期望结果:两个列表的列表 - 第一个列表有10000个项目,第二个列表有6256个项目。