我在Vendor.cs中具有以下计算字段:
public string FullAddress
{
get
{
return VendorAddNum + " " + TLRoadDirection.Direction + " " + VendorAddName + " " + TLRoadType.RdType + " " + TLUnitTypeOne.UnitType + " " + VendorAddUnitOne + " " + TLUnitTypeTwo.UnitType + " " + VendorAddUnitTwo;
}
}
这是该字段视图中的标记:
@Html.DisplayNameFor(model => model.FullAddress)
当我的供应商之一没有任何地址信息时,FullAddress为null,这使我得到了null引用异常。如何允许FullAddress为空?
答案 0 :(得分:1)
使用字符串插值法更好地处理null
个值,而不是串联所有值:
return $"{VendorAddNum} {TLRoadDirection.Direction} {VendorAddName} {TLRoadType.RdType} {TLUnitTypeOne.UnitType} {VendorAddUnitOne} {TLUnitTypeTwo.UnitType} {VendorAddUnitTwo}";
作为一个额外的好处,性能要好一些,代码也要干净一些。
如果您使用的是C#的旧版本,则可以类似地使用string.Format
:
return string.Format("{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}", VendorAddNum, TLRoadDirection.Direction, VendorAddName, TLRoadType.RdType, TLUnitTypeOne.UnitType, VendorAddUnitOne, TLUnitTypeTwo.UnitType, VendorAddUnitTwo);