检查字典中特定键的值

本文关键字:字典 检查 | 更新日期: 2023-09-27 18:25:44

我是字典的新手,所以我有这个基本问题。

我有一本这样的字典:

Dictionary<string, string> usersLastStamp = checking.checkLastStamp();

如何执行if语句来检查特定键的值是否为某个值?

像这样:

if(usersLastStamp.the_value_of_key("theKey") == "someValue")
{
    //Do something
}

我看过TryGetValue,但我不太确定如何像上面在if语句中那样直接使用它。

检查字典中特定键的值

usersLastStamp["theKey"]将在字典中不存在键的情况下抛出异常(如此处所指定)。您可以使用TryGetValue,并将其与短路评估相结合:

string value = null;
if (usersLastStamp.TryGetValue("theKey", out value) && (value == "someValue"))
{
}

人们已经回答了TryGetValue方法,但作为一种选择:如果这是一个选项,也可以考虑使用StringDictionary而不是Dictionary<string,string>-在该键没有值的情况下,这会返回null,因此您可以只使用:

if(usersLastStamp["theKey"] == "someValue")

没有任何出错的风险。

您可以尝试

if(usersLastStamp["theKey"] != null && usersLastStamp["theKey"] == "SomeValue")
{
      // Your cdoe writes here
}

您可以使用任一

string someVal = "";
if (myDict.ContainsKey(someKey))
 someVal = myDict[someKey];

string someVal = "";
if (myDict.TryGetValue(somekey, out someVal))

然后你的if:

if (someVal == "someValue")

TryGetValue获取一个out参数,返回一个bool,如果关键字在字典中存在,则重新运行true并更新参数,如果关键字不在字典中,则返回false。或者,您必须检查该键是否存在于字典中,并且只有当它存在时,才从中获取值。