我想使用LINQ从列表中创建元组列表,但不知道如何做。我有一个外部文件中的各种数据,我使用标准方法将其读入List<Single>
中的各个部分,然后需要将其转换为此列表的连续元素的组列表(这些组中的元素数量可能不同)。换句话说:
List<Single> with n elements goes to List<Tuple<Single, Single>> with (n/2) elements
或者
List<Single> with n elements goes to List<Tuple<Single, Single, Single>> with (n/3) elements
我无法使用LINQ完成这个操作,所以我退回到像下面这样的for循环:
For i As Integer = 0 To CType(coords.Item2.Count / 3, Integer) Step 3
normalList.Add( _
New Tuple(Of Single, Single, Single)( _
coords.Item2.Item(i), _
coords.Item2.Item(i + 1), _
coords.Item2.Item(i + 2) _
) _
)
Next i
编辑:我并不担心通用解决方案,我只想知道是否可能使用LINQ完成这种类型的任务。它似乎超出了其预期用途范围,但我还没有足够的感觉来判断这是否属实。
我的问题是是否可能使用LINQ完成上述类型的任务。我在界面和谷歌上尝试了一番,但都没有得到答案!
n
写代码以外真的很困难(就像有许多“Tuple”类型)。你只能使用动态语言或者尝试使用 F# 来轻松解决这个问题(但是无论如何都需要一个与动态语言接口的 VB 接口)。 - Gert Arnold