unity Dictionary对比两个字典,在另一个字典中找到该字典中key的值,举例子
时间: 2024-05-08 11:17:43 浏览: 153
根据字典的value取它对应的key
4星 · 用户满意度95%
以下是一个示例,假设有两个字典A和B:
```
// 字典A
Dictionary<string, int> dictA = new Dictionary<string, int>();
dictA.Add("apple", 5);
dictA.Add("banana", 3);
dictA.Add("orange", 2);
// 字典B
Dictionary<string, int> dictB = new Dictionary<string, int>();
dictB.Add("apple", 10);
dictB.Add("pear", 4);
dictB.Add("orange", 6);
```
现在我们想比较字典A和字典B,找到字典A中的每个key在字典B中对应的值,可以使用以下代码:
```
foreach (string key in dictA.Keys)
{
if (dictB.ContainsKey(key))
{
int valueB = dictB[key];
int valueA = dictA[key];
Debug.Log(key + ": " + valueA + " / " + valueB);
}
}
```
上面的代码首先遍历字典A中的所有key,然后检查字典B中是否包含该key。如果包含,就可以获取字典A和字典B中该key对应的值,并输出到控制台。在例子中,输出结果如下:
```
apple: 5 / 10
orange: 2 / 6
```
因为字典A中有"apple"和"orange"这两个key,在字典B中也有相应的值,因此输出了这两个key对应的值。而"banana"这个key只存在于字典A中,因此没有输出。"pear"这个key只存在于字典B中,也没有输出。
阅读全文