List <t> .ConvertAll <toutput>是否保证以与输入相同的顺序返回其输出?</toutput> </t>

时间:2012-01-16 19:48:46

标签: c# .net

我很确定答案是'是',但以防万一:

如果您使用ConvertAll()将输入列表的元素转换为输出列表,输出列表是否保证与输入列表的顺序相同?

3 个答案:

答案 0 :(得分:2)

文档中没有明确保证是这种情况。该文档仅指定元素将单独传递给委托,然后放入新的List<T>。它没有指定顺序。

然而,今天的行为是元素按顺序返回,并且没有可能的原因,这将永远改变。

参考:http://msdn.microsoft.com/en-us/library/73fe8cwf.aspx

答案 1 :(得分:0)

理论上,文档没有提到最终集合的顺序,因此无法保证。

实际上,是的,我认为你可以依赖输出顺序与输入顺序相同的事实。

答案 2 :(得分:0)

答案是否定的,不能保证。文档不要求它以这种方式发生。据说最合理的实现方式就是这样。