3 回答
![?](http://img1.sycdn.imooc.com/5458471300017f3702200220-100-100.jpg)
TA贡献1798条经验 获得超7个赞
你的意思是像
var result = info.FirstName + (string.IsNullOrEmpty(info.PhonNumber) ? string.Empty : ( " (" + info.PhonNumber + ")" ));
![?](http://img1.sycdn.imooc.com/545869470001a00302200220-100-100.jpg)
TA贡献1827条经验 获得超8个赞
我认为扩展方法更好:
public static string FormatIfNotNull(this string input, string formatString)
{
if(string.IsNullOrWhiteSpace(input))
return string.Empty;
return string.Format(formatString, input);
}
这更可重复使用和更清洁。然后你可以这样称呼它:
var result = info.FirstName + info.PhonNumber.FormatIfNotNull(" ({0})");
这导致以下输入/输出
info.FirstName = "Steve";
info.PhonNumber = "123.555.7890";
var result = info.FirstName + info.PhonNumber.FormatIfNotNull(" ({0})");
//result is "Steve (123.555.7890)"
info.FirstName = "Jerry";
info.PhonNumber = "";
var result = info.FirstName + info.PhonNumber.FormatIfNotNull(" ({0})");
//result is "Steve"
请注意,我保留了错字“PhonNumber”,因为您的帖子包含它。
![?](http://img1.sycdn.imooc.com/5458692c00014e9b02200220-100-100.jpg)
TA贡献1799条经验 获得超6个赞
我更喜欢$""
var result = $"{info.FirstName} {(!string.IsNullOrEmpty(info.PhonNumber) ? $"({info.PhonNumber})" : "")}";
- 3 回答
- 0 关注
- 165 浏览
添加回答
举报