ASP.NET MVC NULL计算的字段



我在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参考异常。我如何允许全address为null?

而不是串联所有值,而是使用字符串插值更好地处理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);

最新更新