我可以写
if(Model.DecisionReason != null && Model.DecisionReason.Length > 35)
return Model.DecisionReason.Substring(0, 32) + "...";
else
return Model.DecisionReason;
并且将短路&&
中的比较,防止在为空时出现异常。但是,如果我写if
Model.DecisionReason
return (Model.DecisionReason != null && Model.DecisionReason.Length > 35) ?
Model.DecisionReason.Substring(0, 32) + "..." :
Model.DecisionReason;
没有短路,我遇到了异常。有没有办法让它短路,或者我是否被迫将长度比较包装在if
检查空或嵌套三元组(不是最易读的)中?