为了账号安全,请及时绑定邮箱和手机立即绑定

使用内联连接检查 IsNullOrEmpty

使用内联连接检查 IsNullOrEmpty

C#
缥缈止盈 2021-08-29 17:47:06
我有以下几点:var result = info.FirstName + " " + "(" + info.PhonNumber + ")";请注意,FirstName 和 PhoneNumber 都是字符串值。我喜欢做的是如果 info.PhonNumber 为空/空,我不想在 PhoneNumber 周围显示括号。我知道如何使用 IsNullOrEmpty 方法,在这种情况下我需要使用if语句,但是有没有更有效的方法来进行内联验证以检查 info.PhoneNumber 是否为空,如果是,则不连接它?
查看完整描述

3 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

你的意思是像

var result = info.FirstName + 
             (string.IsNullOrEmpty(info.PhonNumber) ?
                          string.Empty : ( " (" + info.PhonNumber + ")" ));


查看完整回答
反对 回复 2021-08-29
?
斯蒂芬大帝

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”,因为您的帖子包含它。


查看完整回答
反对 回复 2021-08-29
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

我更喜欢$""

var result = $"{info.FirstName} {(!string.IsNullOrEmpty(info.PhonNumber) ? $"({info.PhonNumber})" : "")}";



查看完整回答
反对 回复 2021-08-29
  • 3 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信