当我们有一个函数时,它返回一个对象列表。 但是如果没有对象,SHOULD函数返回List,这是NULL还是只返回如下列表?
这样做的正常方法是什么?
如果它应该返回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;
}
答案 0 :(得分:3)
我认为最好返回一个空列表。这样你就不需要检查另一方是否为空,你可以直接迭代它。
此外,这是使用Entity Framework时的工作原理。您运行查询,如果没有结果,您将获得一个空集合。我指出这是一个例子,也是为了保持一致。
答案 1 :(得分:2)
不要从集合属性或返回集合的方法返回空值。返回一个空集合或一个空数组。 一般规则是null和empty(0 item)集合或数组应该被视为相同。
强烈建议使用Framework design lines。
答案 2 :(得分:0)
NULL 与空列表实际上存在很大差异。
这完全取决于你在调用该函数时所做的事情,如果你使用的是foreach循环,返回一个空列表会更有意义。
对于大多数情况,如果您没有特殊情况:找不到结果和发生错误之间的区别。然后使用空列表方法。
答案 3 :(得分:0)
我不是C#的专家,但是你感动了,我想更抽象的问题“我们需要使用Null”。
有很多神圣的战争,无论是好还是坏。从我看来,这很糟糕,你应该避免它们。在你的函数中你不需要返回空列表,因为如果你想在commond生活对象中思考方式......例如你来到学校并要求向你展示名字为“Sam”的所有学生。你会收到答案“对不起,没有这个名字的学生”,而不是“NULL”。
因此,在您的情况下,您需要返回或清空集合(没有学生),或抛出异常NoStudentsException。您更喜欢的取决于您的架构。