Re: CollectionBase Sorting
От: Andrew_ImP  
Дата: 12.09.06 13:51
Оценка: 6 (1)
Здравствуйте, vSnake, Вы писали:

S>Добрый день.

...
S>Я проверил метод Compare Icomparera возвращает 0, так почему же тогда происходит перестановка?

Ты пользуешься Unstable sort, поэтому и происходит перестановка. В часности Array.Sort использует такую (QSort).
В примечании в мсдн'е по этому поводу написано:

This implementation performs an unstable sort; that is, if two elements are equal, their order might not be preserved. In contrast, a stable sort preserves the order of elements that are equal.

S>Может можно как-то подругому отсортировать?

Можно. Например реализовать свою "stable" сортировку. В твоем же случае проще все же упорядочить элементы с одинаковыми ключами сортировки по приоритетам в зависимости от их изначального положения и не возвращать 0.

S>Спасибо.

Пока незачто. =)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.