SHOULD函数返回Null或Object吗?

时间:2016-07-20 13:27:37

标签: c#

当我们有一个函数时,它返回一个对象列表。 但是如果没有对象,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;
}

4 个答案:

答案 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。您更喜欢的取决于您的架构。

相关问题