unity Dictionary查找有一个值是否存在
时间: 2023-05-24 16:04:32 浏览: 157
unity字典序列化工具SerializableDictionary
5星 · 资源好评率100%
可以使用ContainsKey来查找Dictionary中是否存在指定的键(key):
```csharp
// 创建一个Dictionary对象
Dictionary<string, int> dict = new Dictionary<string, int>();
// 添加一些键值对
dict.Add("apple", 1);
dict.Add("banana", 2);
dict.Add("orange", 3);
// 查找指定的键是否存在
if (dict.ContainsKey("apple"))
{
Debug.Log("存在key为apple的值,值为" + dict["apple"]);
}
else
{
Debug.Log("不存在key为apple的值");
}
```
如果需要查找Dictionary中是否存在指定的值(value),可以使用LINQ库中的方法进行查询:
```csharp
// 使用LINQ库中的Contains方法查找是否存在指定的值
if (dict.ContainsValue(2))
{
Debug.Log("存在值为2的键,键为" + dict.FirstOrDefault(x => x.Value == 2).Key);
}
else
{
Debug.Log("不存在值为2的键");
}
```
这里使用了LINQ库中的FirstOrDefault方法,它可以根据指定的条件查找符合条件的第一个元素。在这里,我们使用了lambda表达式 x => x.Value == 2 作为条件,表示查找值为2的元素。如果找到了符合条件的元素,就会返回该元素的键(Key)。如果没有找到符合条件的元素,就会返回null。因此,我们需要在调用FirstOrDefault方法的结果上使用null检查。
阅读全文