我对C#比较新,所以请耐心等待!如果字典中没有任何内容,我想写的代码会抛出一个空引用.我必须将它作为字符串转换为字典返回一个对象:
string mainDirectorsInZim = (string)zimOrganisation.OrganizationFields["main_director"];
Run Code Online (Sandbox Code Playgroud)
我要编写的代码来解决这个问题?
if (zimOrganisation.OrganizationFields.ContainsKey("main_director"))
{
mainDirectorsInZim = (string)zimOrganisation.OrganizationFields["main_director"];
}
else
{
mainDirectorsInZim = null;
}
Run Code Online (Sandbox Code Playgroud)
我写这些内容并不是很少,而且似乎效率低下.有一个更好的方法吗?
我试图通过使用该TryGetValue方法稍微减少代码,但正如serhiyb在评论中指出的那样,由于必须将其转换object为a ,它将无法工作string.
但这仍然会稍微有效.
string mainDirectorsInZim = null;
object tmp;
if (zimOrganisation.OrganizationFields.TryGetValue("main_director", out tmp))
{
mainDirectorsInZim = (string)tmp;
}
Run Code Online (Sandbox Code Playgroud)
OTOH,您可以初始化您的字符串以null开始,并消除该else块,如果您碰巧发现更容易理解,因为它更接近您现有的代码.
string mainDirectorsInZim = null;
if (zimOrganisation.OrganizationFields.ContainsKey("main_director"))
{
mainDirectorsInZim = (string)zimOrganisation.OrganizationFields["main_director"];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |