【发布时间】:2021-06-08 07:59:21
【问题描述】:
函数的名称是产生错误的地方。它指出“并非所有代码路径都返回一个值”。为什么会出现此错误以及如何更正?
public List<List<String>> getAvailablePMs()
{
public List<List<String>> allAvailablePMs = new List<List<String>>;
for (int s = 0; s < MyStaticValues.PMmanagerArray.Count; s++)
{ //for each PM in PMmanagerArray (excluding faulty or in-use)
if (MyStaticValues.PMmanagerArray[s][1] == ""
&& MyStaticValues.PMmanagerArray[s][2].Equals(0)
&& MyStaticValues.PMmanagerArray[s][3].Equals(0))
{//if the PM assigned bay is NULL AND PM status is not in use AND not faulty
allAvailablePMs.push(MyStaticValues.PMmanagerArray[s][0]);
}
}
return allAvailablePMs;
}
【问题讨论】:
-
allAvailablePMs.push这不是我们在 C# 中向列表添加元素的方式,没有push方法,有一个Add。此外,如果MyStaticValues.PMmanagerArray[s][0]是string,则不能添加到allAvailablePMs,因为它需要List<string> -
在方法中声明变量时不应使用“public”。
-
智能感知不如人类聪明。如果您有多个错误,则在查找根本案例方面可能不如人类那么好。只需检查所有错误,看看是否可以修复。
-
令人难以置信的是,一个错位的
public可以使编译器感到困惑,而编译器甚至没有直接公开complain -
感谢所有评论的人,你们帮我解决了这个问题。