Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Какой тип использовать?


Автор: STRELOKBMSTU 27.2.2008, 17:00
Необходима коллекция типа SortedList, содержащая записи типа ключ (стринг) -> значение(объект), но чтобы ключ мог повторяться (чего нет в SortedList). Чего можете подсказать?

Автор: HalkaR 27.2.2008, 17:01
Код

List<KeyValuePair<string,object>>

Автор: STRELOKBMSTU 27.2.2008, 17:15
Цитата(HalkaR @ 27.2.2008,  17:01)
Код

List<KeyValuePair<string,object>>

А могли бы мне пояснить еще, есть ли разница у этого типа и Dictionary?

Автор: error 27.2.2008, 17:34
STRELOKBMSTU
Есть конечно. 
Код

Dictionary<TKey,TValue>
 - неупорядоченный набор пар, индексация только по TKey

Код

List<KeyValuePair<string,object>>
 - упорядоченный набор пар, индексация по int

Автор: 1stain 27.2.2008, 17:39
придется писать класс коллекции самому, наследуясь от IDictionary<TKey, TValue> с внутренним полем типа SortedDictionary<TKey, List<TValue>> (подобный класс описывается в книге "C# 2005 и платформа .NET 3.0 для профессионалов")

з.ы. с каких пор List<> стал упорядоченным набором?

Автор: error 27.2.2008, 17:48
1stain
На мой взгляд, всю жизнь был. Набор элементов, у каждого из которых есть порядковый номер элемента в этом наборе, - упорядоченный набор. 

Автор: 1stain 27.2.2008, 18:03
error, у тебя ошибка в терминологии
не путай сохранение порядка добавленных элементов в классе List<> с упорядоченным по ключу хранением элементов в классе типа SortedList<>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)