По сути, мне нужна структура данных, которая напоминает словарь, но имеет разницу в том, что ее значения также уникальны. Другими словами, в нем изображено отношение «один к одному», а не одно.Как я могу реализовать словарь, значение которого также является ключом?
Пример должен объяснить лучше. Предположим, что я называю эту новую структуру данных MyMapping, и я хочу сохранить имена супружеских пар в нем:
MyMapping<string, string> myMapping = new MyMapping<string, string>();
myMapping.Add("Joe", "Ann");
myMapping.Add("Ann", "Joe");// not allowed
myMapping.Add("Joe", "Mary");// not allowed
myMapping.Add("William", "Katie");// ok
string partner = myMapping["Ann"];// result is Joe
partner = myMapping["Joe"];//result is Ann
Обратите внимание, что в данном конкретном образце может быть лучше иметь 'Dictionary <строка, пара>' и сопоставить оба имени к тому же «Пара», когда вы добавляете один ... –
+1 к ответу Алексея, но, тем не менее, в мире более 1 «Джо», поэтому вам может понадобиться что-то вроде словаря <строка, список> ' –
lukegravitt
Просто используйте два словаря. –