Могу ли я гарантировать порядок вставки IEnumerables поверх WCF? - PullRequest
2 голосов
/ 04 июня 2010

Если у меня есть служба WCF, которая принимает IEnumerable в качестве параметра функции, является ли порядок, в котором я ищу элементы, гарантированно таким же, как они были добавлены в коллекцию? (Или хотя бы в том же порядке, что и они были отправлены по проводам?)

Если нет, могу ли я гарантировать заказ, например, определив его в контракте на обслуживание в виде Списка?

Ответы [ 2 ]

4 голосов
/ 04 июня 2010

Сериализатор естественным образом сериализует элементы в том порядке, в котором они подаются счетчиком коллекции. Для List или Array это всегда будет порядок их добавления, но для чего-либо, основанного на хеш-таблице, порядок не гарантируется. Чтобы гарантировать порядок, используйте коллекцию на основе массива.

2 голосов
/ 04 июня 2010

Я бы определил его как массив, я думаю, что IEnumerable в любом случае сериализуется как массив.

...