如果我有一个接受IEnumerable作为函数参数的WCF服务,那么我查找元素的顺序是否保证与添加到集合中的元素相同? (或者至少它们是通过电线发送的相同顺序?)
如果没有,有没有办法可以保证订单,例如在服务合约中将其定义为List?
答案 0 :(得分:4)
序列化程序自然会按照集合的枚举器提供的顺序对项目进行序列化。对于List
或Array
,这将始终是添加它们的顺序,但对于基于哈希表的任何内容,订单都无法保证。要保证订单,请使用基于数组的集合。
答案 1 :(得分:2)
我将它定义为数组,我认为IEnumerable无论如何都被序列化为数组。