检查字典中特定键的值
本文关键字:字典 检查 | 更新日期: 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。或者,您必须检查该键是否存在于字典中,并且只有当它存在时,才从中获取值。