C#:知道value怎么取到Key
时间: 2024-03-22 12:40:10 浏览: 109
根据字典的value取它对应的key
4星 · 用户满意度95%
在 C# 中,可以通过 Dictionary<TKey, TValue> 类型的 ContainsValue() 和 FirstOrDefault() 方法实现查找字典中某个值对应的键。示例如下:
```csharp
Dictionary<string, int> myDict = new Dictionary<string, int>()
{
{ "apple", 1 },
{ "banana", 2 },
{ "orange", 3 },
};
int targetValue = 2;
if (myDict.ContainsValue(targetValue))
{
var keyValuePair = myDict.FirstOrDefault(x => x.Value == targetValue);
string targetKey = keyValuePair.Key;
Console.WriteLine($"The key for value {targetValue} is {targetKey}");
}
else
{
Console.WriteLine($"The value {targetValue} is not found in the dictionary");
}
```
在上述示例中,我们先定义了一个 Dictionary<string, int> 类型的 myDict 变量,并初始化了一些键值对。然后,我们定义了一个整型变量 targetValue,它表示要查找的值。接着,我们使用 ContainsValue() 方法判断字典中是否包含该值。如果包含,我们使用 FirstOrDefault() 方法找到第一个值等于 targetValue 的键值对,然后通过该键值对的 Key 属性获取对应的键名,最后输出结果。如果该值不存在于字典中,我们直接输出提示信息。
需要注意的是,在使用 FirstOrDefault() 方法时,我们需要传入一个 Lambda 表达式作为参数,用于定义筛选条件。该 Lambda 表达式中的 x 表示一个键值对,我们通过 x.Value == targetValue 来判断该键值对的值是否等于 targetValue。如果条件成立,该键值对就符合要求,FirstOrDefualt() 方法就会返回它。如果条件不成立,方法会返回默认值 null,表示未找到符合条件的键值对。
阅读全文