使用linq和ToLookup()保留值的顺序

时间:2009-07-27 19:02:11

标签: linq

虽然我很确定从linq的ToLookup方法返回时键是无序的,但的顺序是否保留?我找不到任何说明这种或那种方式的文件。

3 个答案:

答案 0 :(得分:11)

ToLookup()的当前实现确实保留了值的顺序(检查Lookup<TKey,TElement>.Grouping<TKey,TElement>.Add()的实现),但我不相信它保持这种方式。为了保证订购,您最好的选择可能是包含元素的原始索引,可能使用Select的{​​{3}},然后再次排序。

答案 1 :(得分:1)

我认为它们是,here. ILookup来自IEnumerable<IGrouping<TKey, TElement>>。我相信价值保证保持有序。

答案 2 :(得分:1)

是的。根据{{​​3}}:

每个组中的值与Fatal signal 11 (SIGSEGV)中的顺序相同。