c#dictionary通过key找value
时间: 2023-04-26 11:01:34 浏览: 2131
C# 中的 Dictionary 类有一个 TryGetValue 方法,可以通过 key 来查找 value。该方法接收两个参数,一个是 key,另一个是输出参数,用来保存找到的 value。如果找到了 value,TryGetValue 方法会返回 true,反之会返回 false。
示例:
```
Dictionary<string, int> dict = new Dictionary<string, int>();
dict.Add("apple", 1);
dict.Add("banana", 2);
int value;
if (dict.TryGetValue("apple", out value))
{
Console.WriteLine(value); // 输出: 1
}
```
也可以用下标来访问,如果key不存在会抛出异常
```
Console.WriteLine(dict["apple"]);
```
相关问题
c# Dictionary 通过key 找到value
在 C# 中,`Dictionary<TKey, TValue>` 是一种键值对集合,它允许通过唯一的键(`TKey`)来查找对应的值(`TValue`)。如果你想通过 key 查找 value,你可以按照以下步骤操作:
```csharp
// 创建一个 Dictionary 示例
Dictionary<string, int> myDict = new Dictionary<string, int>
{
{ "Apple", 1 },
{ "Banana", 2 },
{ "Cherry", 3 }
};
// 通过 key 查找 value
int value;
if (myDict.TryGetValue("Apple", out value))
{
Console.WriteLine($"The value for 'Apple' is: {value}");
}
else
{
Console.WriteLine("Key not found.");
}
```
在这里,`TryGetValue` 方法用于尝试获取指定键的值。如果键存在,则返回相应的值并设置 `out` 参数;如果键不存在,则返回默认值(在这个例子中是 `false`),并且不会影响 `out` 参数。
C# Dictionary 通过key或者value 得到下标
在C#中,`Dictionary<TKey, TValue>`是一个关联容器,它将键(Key)映射到值(Value)。如果你想要获取某个键对应的索引,你可以直接使用`TryGetValue`方法或者`IndexOfKey`方法,但是这两个方法都不会返回值的索引,因为`Dictionary`内部并不保证值的顺序。
如果你需要得到值的索引,你需要先确保该值存在于字典中,可以这样做:
```csharp
int index;
if (dictionary.TryGetValue(key, out TValue value)) {
index = dictionary.IndexOfKey(key); // 如果key存在,index会包含其在键集合中的位置
} else {
index = -1; // 或者抛出异常,表示找不到指定的key
}
```
如果你想找到与给定值相关的第一个键的索引,可以使用`Keys.FindIndex`方法:
```csharp
int index = dictionary.Keys.IndexOf(value);
```
这假设`value`是唯一的,如果存在多个相同的值,它将返回第一个匹配项的索引。
阅读全文