虽然我很确定从linq的ToLookup方法返回时键是无序的,但值的顺序是否保留?我找不到任何说明这种或那种方式的文件。
答案 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)
中的顺序相同。