繁体   English   中英

如何从字典中查找键

[英]How to find a key from a dictionary

我有一个字典,其中包含Wall类型的键和一个值为List<Tile>

所以看起来像这样:

new Dictionary<Wall, List<Tile>>();

因此,我有一个图块,我想找到所有与埋在列表中的图块连接的墙类型。

我不完全理解我如何遍历字典来做这样的事情,因为图块也位于列表中。 我是否应该完全不使用字典来进行这种数据连接,我不能完全确定我是否在这里正确理解了字典。

我不认为Dictionary<Wall, List<Tile>>是解决此问题的最佳数据结构:

所以我有一个图块,我想找到所有与此埋在列表中的图块连接的墙类型

您将不得不使用蛮力(并且性能很差):

Dictionary<Wall, List<Tile>> dictionary; //todo initialize
List<Wall> result = new List<Wall>();
foreach (var kvp in dictionary) {
   if (kvp.Value.Contains(tile))
       result.Add(kvp.Key);
}

如果您有一个Tile并要查找Walls列表,则需要Dictionary<Tile, List<Wall>>

Dictionary<Tile, List<Wall>> dictionary; //todo initialize
List<Wall> result = dictionary[tile];

它将很好地利用字典的功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM