我有一个类型实体列表,它通过Entity Framework从DB获取值.如果将null结果集作为null或空列表返回,如下所示:
    private List<Order> _myOrders;
    public List<Order> myOrder
    {
        get
        {
            return this._myOrders ?? new List<Order>();
        }
        set
        {
            this._myOrders = value;
        }
    }
任何处理代码都会对表使用count()而不是"!= null"测试?什么被认为是更好的做法.我怀疑应该尝试管理属性中的空值,否则就会在整个地方编写空测试代码.
思考?
谢谢.
我倾向于返回一个空列表.
在概念层面,null表示未知.在您的情况下,与客户相关的订单并不为人所知; 相反,没有订单.一个空列表精确地表示这一点,而null是不精确的,可能是不明确的 - "null"命令是否意味着没有订单,或者仅仅是订单属性尚未填充?
在实际层面,通过返回一个空列表,对订单进行计算的代码可能需要更少的角落检查.例如,使用foreach迭代订单列表的方法应该可以正常使用零长度订单列表(不会发生迭代),而对于没有订单使用null将要求该方法进行安全检查.
| 归档时间: | 
 | 
| 查看次数: | 1640 次 | 
| 最近记录: |