下面是一个场景...
if (entry.Properties["something"].Value != null)
attribs.something = entry.Properties["something"].Value.ToString();
虽然有效且工作正常,但在我看来这很难看.如果我在执行ToString()之前没有判断null,那么如果属性为null,它就会抛出一个异常.有没有更好的方法来处理这种情况?
非常感谢!
下面是一个场景...
if (entry.Properties["something"].Value != null)
attribs.something = entry.Properties["something"].Value.ToString();
虽然有效且工作正常,但在我看来这很难看.如果我在执行ToString()之前没有判断null,那么如果属性为null,它就会抛出一个异常.有没有更好的方法来处理这种情况?
非常感谢!
8年后更新(哇!)要覆盖c# 6's null-conditional operator:
var value = maybeNull?.ToString() ?? String.Empty;
其他方法:
object defaultValue = "default";
attribs.something = (entry.Properties["something"].Value ?? defaultValue).ToString()
我也用过这个,虽然不是很聪明,但很方便:
public static string ToSafeString(this object obj)
{
return (obj ?? string.Empty).ToString();
}