我一直在寻找这个,我确信我只是想念它,因为我对 Linq 不是很好。
我有一个看起来像的列表:
type=a, value=aaaa
type=a, value=bbbb
type=b, value=cccc
type=d, value=dddd
type=d, value=eeee
type=d, value=ffff
type=a, value=gggg
type=b, value=hhhh
type=b, value=iiii
type=b, value=jjjj
我想将其分解为子列表,而不进行排序(我需要保持原始顺序)。我想按列表或类似列表中的顺序取回这些列表:
List 1
type=a, value=aaaa
type=a, value=bbbb
List2
type=b, value=cccc
List 3
type=d, value=dddd
type=d, value=eeee
type=d, value=ffff
List 4
type=a, value=gggg
List 5
type=b, value=hhhh
type=b, value=iiii
type=b, value=jjjj
我想循环不是最好的答案。
任何想法都非常感谢。
stackoverflow.com 万岁!
克里斯
四个答案后编辑:
我检查了以下答案: * Enigmativity * Bert Evans * Risky Martin * david.s
他们都工作得很好。Bert Evans 提出了性能问题,在这种情况下这对我来说并不是一个大问题,但为了这篇文章,我做了一些快速检查。
我没有修改任何人的代码,只是在相当短的列表上安排了 4,000 次这样的操作。
Risky的回答是最快的。伯特的回答只是慢了一点。
david's 和 Enigmativity 的速度几乎没有变慢,真的。
由于性能和早期指向相关帖子,我将 Risky 的答案标记为已接受,然后回来提供答案。
不过,我同意 Bert 的可读性最强。
老实说,我不知道我将使用哪一个...实际上,我将使用 Enigmativity 的解决方案,因为它已经考虑到我只需要每个子组的值和一个键。