在C#中获取字典中特定键的值

问题描述 投票:0回答:1

我有一本这样的字典:

Dictionary<string, List<string>> mydict = new Dictionary<string, List<string>>();

我已经尝试过:

foreach(var value in mydict.Keys)
{
    List<string> key
    key.Add();
} 

我相信这不是获取特定键值的正确方法。

c# dictionary key trygetvalue
1个回答
3
投票

你有一个

Dictionary<string, List<string>>
。字典有一个键和一个值。在您的情况下,键是
string
,值是
List<string>

如果你想获取具体键的值,可以使用:

myDict.TryGetValue("TheValueToSearch", out List<string> list)
当键在字典中时,

TryGetValue
返回
true
。所以你可以这样做:

if (myDict.TryGetValue("TheValueToSearch", out List<string> list))
{
    // Do something with your list
}

您可以使用

myDict["TheValueToSearch"]
直接访问列表,但如果密钥不在字典中,则会出现异常。您可以使用
myDict.ContainsKey("TheValueToSearch")
检查是否存在。

迭代所有字典值:

foreach(var key in mydict.Keys)
{
    List<string> values = mydict[key];
    // Do something with values
} 

除此之外,在以字符串作为键的字典的具体情况下,如果您希望该键不区分大小写,则可以使用重载构造函数:

new Dictionary<string, List<string>>(StringComparer.CurrentCultureIgnoreCase)
© www.soinside.com 2019 - 2024. All rights reserved.