如何从列表中选择按索引分组的多个项目?

时间:2015-08-18 12:59:29

标签: vb.net linq select

我有一个清单

Dim list1 As List(Of Byte) = New List(Of Byte)() From {1, 2, 3, 4, 5, 6, 7, 8, 9} 

我希望按照list2的顺序从list1中选择三个项目。

List2   = {"123" ,  "456",  "789"}

如何在不进行下一循环的情况下选择它们?

感谢。

1 个答案:

答案 0 :(得分:1)

这是一个没有可见循环的LINQ查询:

Dim itemGroups As List(Of String) = list1.
    Select(Function(b, i) New With {.Byte = b, .Index = i}).
    GroupBy(Function(x) x.Index \ 3).
    Select(Function(g) String.Concat(g.Select(Function(x) x.Byte))).
    ToList()

x.Index \ 3用于构建三个组,它是http://example.com/styles/master.css,它丢弃任何余数并仅保留整数部分。 (对于C#用户:它与/相同)