如何简化这种C#if / else语法

时间:2013-06-03 15:52:38

标签: c#

我有以下声明:

serverCard.Details = !String.IsNullOrEmpty(card.Details) ? card.Details : serverCard.Details;

我想检查一下,看看card.Details是空还是空......如果没有,写下这个值。是否有任何语法允许我省略其他条件?

3 个答案:

答案 0 :(得分:16)

当然,只需使用常规if

if(!String.IsNullOrEmpty(card.Details))
    serverCard.Details = card.Details

答案 1 :(得分:5)

您始终可以使用旧的if声明:

if(!String.IsNullOrEmpty(card.Details))
{
  serverCard.Details = card.Details;
}

我认为这里不需要三元运算符。

答案 2 :(得分:0)

您可以为String编写扩展方法以检查nullOrEmpty。如果那么常规会更短

扩展方法:

 public static bool IsNullOrEmpty(this string str)
 {
     return string.IsNullOrEmpty(str);
 }

 public static bool IsNullOrWhiteSpace(this string str)
 {
    return string.IsNullOrWhiteSpace(str);
 }

if:

if(!card.Details.IsNullOrWhiteSpace())
    serverCard.Details = card.Details

扩展方法适用于每个字符串。