2017-02-02 12 views
0

Я не знал, как задать вопрос.Могу ли я добавить новый KeyValuePair в словарь?

У меня есть эта переменная:

Dictionary<int, KeyValuePair<int, string>> Variable 

Могу ли я иметь различные «значения» в конкретном ключе? Для примера:

Variable<int, KeyValuePair<int, string>>(10, new KeyValuePair<int string> {100, William; 460, John; 100, Daniel}) 

Так что переменные [Key] имеет Diferent Values ​​

Variable[10][100, William] 
Variable[10][460, John] 
Variable[10][100, Daniel] 

Я попробовал добавлять их с тем же ключом, но он не дал мне

я не знаю если это возможно, и если да, то как я могу добавить значения и как искать значения с помощью цикла foreach?

Заранее спасибо. Извините за мой плохой английский.

+2

Нет только на _value_ per _key_. Но вы можете создать «Словарь >>» и заполнить списки на ключ. –

+0

<3 Вот что я искал, спасибо, имеет смысл, я попробую это –

ответ

0

В словаре вы не можете иметь более одного значения с одним и тем же ключом. Что вы могли бы сделать, это создать List<KeyValuePair<string,string>> (строка может быть примером, может быть что угодно)

+0

Так он сохранит что-то вроде: List [0] [100, William], List [0] [460, John], List [0] [100, Даниэль]? –

+0

@ RodolfoContreeras Ну, для этого вы должны использовать, как отмечает Рене в своем комментарии, иметь список внутри словаря, чтобы вы могли хранить свой индекс «10» для всех трех элементов. Тогда вы можете получить доступ, как этот 'dicName [10] [0]', и он вернет [100, William], 'dicName [10] [1]' [460, John] и т. Д. – Magnetron

+0

Спасибо @Magnetron <3 Я попробую это, и спасибо, что помогли мне узнать, как получить ценности! –