7

我有以下声明:

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

我想检查一下 card.Details 是否为空或为空...如果不是,请写入值。是否有任何语法允许我省略 else 条件?

4

3 回答 3

16

当然,只需使用常规if

if(!String.IsNullOrEmpty(card.Details))
    serverCard.Details = card.Details
于 2013-06-03T15:56:25.603 回答
5

您始终可以使用旧if语句:

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

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

于 2013-06-03T15:56:59.967 回答
0

您可以为 String 编写一个扩展方法来检查是否为 nullOrEmpty。常规的 if then 会更短

扩展方法:

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

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

如果:

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

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

于 2013-06-04T07:15:44.197 回答