Возможный дубликат:
Многозначный словарь
Мне просто нужно сохранить 2 значения. Как я могу это сделать?
Значения словаря могут быть произвольным типом, поэтому сделайте значения structs с соответствующими членами, тогда вы сможете сохранить два или сколько угодно.
Я не знаю, имеет ли С# эквивалент С++ std:: pair; вы можете использовать это, но структура может иметь больше смысла, тогда вы можете сказать:
dict[person].shoesize
dict[person].eyecolour
Что приятно и доступно для чтения.
Если вам нужно переменное количество значений для ключа, вы можете использовать
Dictionary<TypeOfKey, List<TypeOfValue>
например. если вы хотите сохранить произвольное количество целых чисел в строке, вы можете сделать это
var numbersPerString = new Dictionary<string, List<int>>();