函数应该返回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,你可以直接迭代它
此外,当您使用实体框架时,它就是这样工作的。您运行一个查询,如果没有结果,则会得到一个空集合。我指出这是一个例子,也是为了保持一致性。
不要从集合属性或返回集合的方法中返回null值。返回一个空集合或一个空数组。一般规则是,null和空(0项(集合或数组应被同等对待。
强烈建议使用框架设计线。
实际上,NULL和空List之间有很大的区别。
这一切都基于调用该函数时的操作,如果使用foreach循环,则返回空列表更有意义。
对于大多数情况,如果您没有特殊情况:未找到结果和发生某些错误之间的差异。然后采用空列表方法。
我不是C#专家,但你感动了,我认为更抽象的问题是"我们需要使用Null吗"。
关于Nulls是好是坏,有很多圣战。在我看来,这很糟糕,你应该避开他们。在您的函数中,您不需要返回null列表,因为如果您将以公共生命对象的方式思考。。。例如,你来到学校,要求向你展示所有名为"山姆"的学生。你会得到的答案是"对不起,没有这个名字的学生",而不是"NULL"。
因此,在您的情况下,您需要返回或清空集合(没有学生(,或者抛出异常NoStudentsException。你会喜欢什么取决于你的架构。