函数应该返回Null还是它的Object

本文关键字:Object Null 返回 函数 | 更新日期: 2023-09-27 17:57:47

当我们有一个函数时,它会返回一个对象列表。但如果没有对象,应该函数返回List,它是NULL还是Just返回列表,如下所示?

做这件事的正常方式是什么?

如果它应该返回NULL,如何在下面的函数中修复它?

Public class Student
{
    Public  String Name{set; get;}
    Public  int age{set; get;}
}

public List<student> Students(int age)
{
    List<student> studentList = new List<student>();
    /*Database not finds student */
    Return studentList;
}

函数应该返回Null还是它的Object

我认为最好返回一个空列表。这样你就不需要在另一边检查它是否为null,你可以直接迭代它

此外,当您使用实体框架时,它就是这样工作的。您运行一个查询,如果没有结果,则会得到一个空集合。我指出这是一个例子,也是为了保持一致性。

不要从集合属性或返回集合的方法中返回null值。返回一个空集合或一个空数组。一般规则是,null和空(0项(集合或数组应被同等对待。

强烈建议使用框架设计线。

实际上,NULL和空List之间有很大的区别。

这一切都基于调用该函数时的操作,如果使用foreach循环,则返回空列表更有意义。

对于大多数情况,如果您没有特殊情况:未找到结果和发生某些错误之间的差异。然后采用空列表方法。

我不是C#专家,但你感动了,我认为更抽象的问题是"我们需要使用Null吗"。

关于Nulls是好是坏,有很多圣战。在我看来,这很糟糕,你应该避开他们。在您的函数中,您不需要返回null列表,因为如果您将以公共生命对象的方式思考。。。例如,你来到学校,要求向你展示所有名为"山姆"的学生。你会得到的答案是"对不起,没有这个名字的学生",而不是"NULL"。

因此,在您的情况下,您需要返回或清空集合(没有学生(,或者抛出异常NoStudentsException。你会喜欢什么取决于你的架构。