我知道这是一个常见的话题,但我已经浏览了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(),但它似乎没有什么区别。
答案 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或更大的项目。