Добавить элемент в список <> сортирует? - PullRequest
1 голос
/ 02 декабря 2011

У меня есть общий список, и я выполнил

mylist.Sort(Comparison<TypeA>(delegate(TypeA a, TypeA b)
{ return a.Text.CompareTo(b.Text)) }

После выполнения вышеупомянутых операций я выполняю mylist.Add(someObject).Свойство Text начинается с буквы "T".В списке также есть элемент, который начинается с "V".Вместо того, чтобы какой-то объект добавлялся последним, он идет непосредственно перед элементом, начинающимся с "V".Это заставляет меня думать, что вид продолжает применяться.Так ли это?

Если да, то как мне добавить этот новый элемент как последний?

1 Ответ

5 голосов
/ 02 декабря 2011

Это определенно неправильно.List<>.Sort выполняет сортировку один раз, и добавление дополнительных элементов добавит их в конец.

Такое поведение возможно, только если mylist - это SortedList или что-то подобное.Если вы не инициализируете его самостоятельно, вам следует проверить тип среды выполнения, потому что, хотя тип времени компиляции может быть IList, вы можете получить SortedList.Но это очень маловероятно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...