亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何簡化 IF ELSE 語句 C#?

如何簡化 IF ELSE 語句 C#?

C#
滄海一幻覺 2022-09-04 17:01:16
if(currency.equal("CND"))       if (string.IsNullOrEmpty(member.LastName))                    {                        return $"{member.FirstName}".Trim();                    }                    else                    {                        return $"{member.LastName} {member.FirstName}".Trim();                    }                else                    if (string.IsNullOrEmpty(member.LastName))                    {                        return $"{member.FirstName}".Trim();                    }                    else                    {                        return $"{member.FirstName} {member.LastName}".Trim();                    }我需要簡化這個更短的陳述,但我不確定如何?我是新手,在這些東西我可能需要一些幫助.任何建議?
查看完整描述

3 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

這并不一定簡化了它,它只是使它成為一個單行


return $"{(!member.LastName.IsNullOrEmpty() ? member.LastName : "")}{member.FirstName}".Trim();

但是,為了更好的清晰度和可讀性,該塊是完全可以的...if/else


        if (string.IsNullOrEmpty(member.LastName))

        {

            return $"{member.FirstName}".Trim();

        }

        else

        {

            return $"{member.LastName} {member.FirstName}".Trim();

        }

我肯定更喜歡塊而不是使用單行字符串插值if...else


查看完整回答
反對 回復 2022-09-04
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

您可以移動一些代碼以刪除重復項。如果缺少姓氏,則名字是唯一要打印的姓氏,因此請先進行測試。然后測試按首選順序打印出全名的條件。


if (string.IsNullOrEmpty(member.LastName))

{

    return member.FirstName.Trim();

}

else

{

    return currency.equal("CND")

        ? $"{member.LastName} {member.FirstName}".Trim()

        : $"{member.FirstName} {member.LastName}".Trim();

}

您也可以將其重寫為嵌套的三元操作,盡管它實際上并不短,并且它是否更具可讀性取決于閱讀它的人...


return (string.IsNullOrEmpty(member.LastName)

        ? member.FirstName

        : currency.equal("CND")

          ? $"{member.LastName} {member.FirstName}"

          : $"{member.FirstName} {member.LastName}").Trim();


查看完整回答
反對 回復 2022-09-04
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

這絕對是過度設計的。不是更短,但意圖更清晰,易于擴展。


public static string GetDisplayName(Member member, string currency)

{

    return string.Join(" ", GetDisplayNameParts(member, currency));

}


public static IEnumerable<string> GetDisplayNameParts(Member member, string currency)

{

    switch (currency)

    {

        case "CND":

            yield return member.LastName ?? ""

            yield return member.FirstName ?? ""

            yield break;


        default:

            yield return member.FirstName ?? ""

            yield return member.LastName ?? ""

            yield break;

    }

}


查看完整回答
反對 回復 2022-09-04
  • 3 回答
  • 0 關注
  • 130 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號