哪个更好返回null或空对象?

时间:2015-07-16 15:58:15

标签: c# asp.net

哪个更好返回null或空对象?

var entity = GetFromDB();
if (entity != null)
{
    var price = entity.Price != null 
        ? PriceDecorator.Decorate(entity.Price) 
        : null;
}

    public class PriceDecorator
 {
     public static string Decorate(decimal? price)
     {
         if (price == null || price == 0)
             return String.Empty;

         return String.Format(CultureInfo.CurrentCulture , "{0:C}", price);
     }
 }

在上面的代码中,有时我返回null,有时我返回Sting.Empty,我不知道返回什么表示“没有数据”。

有什么建议吗?

提前致谢

1 个答案:

答案 0 :(得分:4)

取决于:

  • 当我在对象的属性上返回string.Empty时,表示实体确实存在,但该对象没有属性或属性在事实上一个没有字符的字符串。

  • 当我返回null而不是string.Empty时,表示条目/实体不存在,换句话说,有否数据