То есть я хотел бы иметь кортеж значений.
Случай использования на мой взгляд:
Dictionary<Pair<string, int>, object>
или
Dictionary<Triple<string, int, int>, object>
Существуют ли встроенные типы, такие как Pair или Triple? Или как лучше это реализовать?
Обновление В ответах описаны некоторые реализации кортежей общего назначения, но для кортежей, используемых в качестве ключей в словарях, вы должны дополнительно проверить правильность вычисления хеш-кода. Еще немного информации об этом в другом вопросе .
Обновление 2 Полагаю, стоит напомнить, что когда вы используете какое-либо значение в качестве ключа в словаре, оно должно быть неизменным.