我有一个预订项目列表/数组
Dim reservationItemsarr = ObjTIReadRS.TravelItinerary.ItineraryInfo.ReservationItems.SelectMany(Function(x) x.FlightSegment).ToArray()
现在基于某些条件,我创建了另一个具有值索引的数组。
我需要拆分
reservationItemsarr
我需要创建一个新的列表/数组,它将根据我的索引数组保存值。
所以最后的结果应该是
list(0)= reservationItemsarr(0)和reservationItemsarr(1)
list(1)= reservationItemsarr(2)和reservationItemsarr(3)和 reservationItemsarr(4)
list(2)= reservationItemsarr(5)和reservationItemsarr(6)和 reservationItemsarr(7)
我的问题不是创建集合集合,但我需要一种像上面那样分割的方法。
答案 0 :(得分:1)
帮助您入门的基本算法:
Dim results As New List(Of IEnumerable(Of ReservationItem))()
Dim remainder As IEnumerable(Of ReservationItem) = reservationItemsArr
Dim lastIndex As Integer = 0
For i As Integer = 0 To index.Length - 1
results.Add(remainder.Take(index(i) - lastIndex))
remainder = remainder.Skip(index(i) - lastIndex)
lastIndex = index(i)
Next
results.Add(remainder)
您需要处理边缘情况,例如索引指向最后一个元素或数组外部。