使用条件语句计算列表

时间:2017-09-10 03:26:21

标签: c# list count

我知道这是一个常见的话题,但我已经浏览了Stackoverflow上的大部分主题,并且已经跟踪它们,无法让我的满足所有条件。

我想返回列表中的第二项,如果列表为空或只有1项,则返回0;

我有这个:

public int practice(List<int> items)
{
if (items == null)
    {
      return 0;
    }
else if (items.Count == 1)
    {
      return 0;
    }
else
   {
     int second_place = items[1];
     return second_place;
   }
}

如果列表中只有1个项目,我无法使用此功能。它只是绕过我的其他条件,然后失败。 我已经尝试过items.Count和items.Count(),但它似乎没有什么区别。

2 个答案:

答案 0 :(得分:1)

您可以按如下方式组合它们,而不是添加其他条件:

 public int practice(List<int> items)
    {
        if (items == null || items.Count <= 1)
        {
            return 0;
        }
        else
        {
            int second_place = items[1];
            return second_place;
        }
    }

答案 1 :(得分:0)

好的,所以我弄清楚我做的不对。如果列表中有0个项目(但不是null),则代码未通过。

所以我添加了另一个if语句来处理:

else if (items.Count == 0)
{
return 0;
}

然后它过去了。我最初没有这样做,因为我最初没有想到列表不为null但其中有0项的情况。我错误地认为它的值为null或者是1或更大的项目。