c#查询字典内value对应的key
时间: 2024-09-28 10:16:05 浏览: 41
在 C# 中,如果你想通过值(Value)查询 Dictionary 内对应的所有键(Key),可以创建一个集合(如 List<T>)来存储找到的键,并结合 `foreach` 循环遍历整个字典。下面是一个简单的示例:
```csharp
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
// 创建一个 Dictionary 示例
Dictionary<string, int> fruitsCount = new Dictionary<string, int>
{
{ "Apple", 5 },
{ "Banana", 7 },
{ "Cherry", 4 },
{ "Apple", 3 } // 同一值可能出现多次
};
// 要查询的值
int targetValue = 5;
// 存储所有匹配的键
List<string> keys = new List<string>();
foreach (KeyValuePair<string, int> kvp in fruitsCount)
{
if (kvp.Value == targetValue)
{
keys.Add(kvp.Key);
}
}
// 打印所有匹配的键
if (keys.Count > 0)
{
Console.WriteLine("Keys with value " + targetValue + ":");
foreach (string key in keys)
{
Console.WriteLine(key);
}
}
else
{
Console.WriteLine("No key found for the given value.");
}
}
}
```
这个程序会找出所有值为 `targetValue` 的键,并打印出来。如果字典中有多个相同的值,这将会返回所有对应的键。
阅读全文