Создать словарь в C #, который сильно связан с другим словарем - PullRequest
0 голосов
/ 19 октября 2018

Я работаю с C # для сетки в форме шестиугольника с привязанными проверками, переносом и т. Д. Карта в библиотеке - это словарь Dictionary<TileCoord,int> tileIndexByPosition.У меня также есть необходимая функция для получения CornerCoord для каждой плитки.

Я хотел бы создать словарь Dictionary<CornerCoord,int> cornerIndexByPosition, значения которого зависят от tileIndexByPosition.Всякий раз, когда tileIndexByPosition меняет свои элементы, создание нового словаря для углов кажется довольно неэффективным.

Идея, которую я имею, состоит в том, чтобы использовать Ленивую оценку LINQ для сильной пары двух словарей.Хотелось бы любой совет о том, как подойти к этой проблеме.

РЕДАКТИРОВАТЬ: я использую этот словарь, чтобы проверить, является ли TileCoord или CornerCoord частью карты, используя ContainsKey.

1 Ответ

0 голосов
/ 19 октября 2018

Я бы использовал KeyValuePair следующим образом

KeyValuePair<Dictionary<TileCoord,int>,Dictionary<CornerCoord,int>> kvp;

Если вы измените ключ (tileIndexByPosition), вы также можете изменить значение Dictonary значения KeyValuePair, которое зависит от ключа KeyValuePair.

Это как вы сказали, что хотите.Но я думаю, что вы хотите что-то вроде этого:

Dictonary<KeyValuePair<TileCoord,int>,KeyValuePair<CornerCoord,int>> dic;

Надеюсь, это поможет.

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...