安全通过键值对,即使值不存在
本文关键字:不存在 键值对 安全 | 更新日期: 2023-09-27 18:10:43
string itemnumber = "";
itemnumber = parameter.AuxProperty["art_nr"].ToString();
if (itemnumber == "")
{
string[] pnp = parameter.Name.Split('_');
itemnumber = pnp[pnp.Length - 1];
}
这是我的代码。我想用键"art_nr"抓住 AuxProperty,并且按预期工作。但有时 AuxProperty["art_nr"] 不存在,因此代码会中断。我怎样才能以更好的方式做到这一点,以便在没有属性["art_nr"]时代码不会中断?
如果AuxProperty
实际上是字典,则如下所示:
//TODO: declare value actual type
SomeType value;
if (parameter.AuxProperty.TryGetValue("art_nr", out value)) {
// value exists
itemnumber = value.ToString();
...
}
else {
// No such value
itemnumber = "";
...
}
添加检查键值对中是否存在键:
itemnumber = parameter.AuxProperty.ContainsKey("art_nr")?parameter.AuxProperty["art_nr"].ToString():String.Empty;
itemnumber = Convert.ToString(parameter.AuxProperty["art_nr"]);
这将处理空值