gpt4 book ai didi

c# - 我应该返回一个空列表还是一个空列表?

转载 作者:太空宇宙 更新时间:2023-11-03 18:08:06 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Is it better to return null or empty collection?

(18 个回答)


7年前关闭。




我有一个类型实体列表,它通过 Entity Framework 从数据库中获取值。应该将 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 则需要该方法进行安全检查。

关于c# - 我应该返回一个空列表还是一个空列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22364685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com