Сортированные элементы списка - PullRequest
1 голос
/ 12 марта 2012

Можно ли добавить в отсортированный список элементы с одинаковым значением, потому что, когда я пытаюсь это сделать, отображается ошибка:
«Запись с таким же ключом уже существует.»
Если это возможно, то как?

Ответы [ 4 ]

3 голосов
/ 12 марта 2012

Невозможно * добавить дубликаты ключей, как заявили другие пользователи.

В c # вместо этого вы можете использовать класс Lookup, который позволяет хранить несколько значений с одним и тем же ключом.

См .: http://msdn.microsoft.com/en-us/library/bb460184.aspx

* Это возможно, см. Комментарии, но только путем определения компаратора, который никогда не возвращает равенство для равных элементов, что для ИМО является действительно очень плохой идеей.

1 голос
/ 12 марта 2012

Нет, это невозможно. Ключи должны быть уникальными.

0 голосов
/ 15 сентября 2015

Определите класс, который реализует IComparer.Когда вы создаете экземпляр SortedList, вы передаете экземпляр своего класса.Проверьте ответ Кнастербакса .

0 голосов
/ 12 марта 2012

Ключ должен быть уникальным. Смотрите это в MSDN

ArgumentException   - An element with the specified key already exists in the SortedList object.

http://msdn.microsoft.com/en-us/library/system.collections.sortedlist.add.aspx

...