在C#中创建一个字典,该字典与另一个字典紧密结合

时间:2018-10-19 08:28:25

标签: c# linq dictionary

我正在使用C#处理具有边界检查和包装等功能的六边形网格。库中的地图是字典Dictionary<TileCoord,int> tileIndexByPosition。我还具有获取每个图块的CornerCoord所需的功能。

我想创建一个字典Dictionary<CornerCoord,int> cornerIndexByPosition,其值取决于tileIndexByPosition。每当tileIndexByPosition更改其元素时,为角创建新的字典似乎效率很低。

我的想法是使用LINQ的惰性求值将两个字典牢固地结合在一起。希望获得有关如何解决此问题的任何建议。

编辑:我使用这些字典来检查TileCoordCornerCoord是否是地图的一部分。

1 个答案:

答案 0 :(得分:0)

我会这样使用KeyValuePair

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

如果更改键(tileIndexByPosition),则还可以更改取决于KeyValuePair键的KeyValuePair值的字典值。

这就像您说的那样。但我认为您想要这样的东西:

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

我希望这会有所帮助。

亲切的问候

相关问题