C# 如何解决';并非所有代码路径都返回值';?
函数名是产生错误的位置。它声明“并非所有代码路径都返回值”。为什么会出现此错误?如何更正C# 如何解决';并非所有代码路径都返回值';?,c#,list,function,return,C#,List,Function,Return,函数名是产生错误的位置。它声明“并非所有代码路径都返回值”。为什么会出现此错误?如何更正 public List<List<String>> getAvailablePMs() { public List<List<String>> allAvailablePMs = new List<List<String>>; for (int s = 0; s < MyStaticValues.PMmanager
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;
}
public List getAvailablePMs()
{
公共列表allAvailablePMs=新列表;
对于(int s=0;s
您不能在方法内部使用public
,这会产生编译错误,使编译器感到困惑,并抱怨“并非所有代码路径都返回值”
此外,代码上还有其他错误,列表中没有推送
方法,您应该使用添加
。此外,如果MyStaticValues.pmmanageraray[s][0]
是一个字符串
,则不能将其添加到allAvailablePMs
,因为它需要一个列表
在风格方面,C#中的所有方法和属性都是PascalCase,而不是camelCase,这是一种惯例,因此您的方法名称应该是GetAvailablePMs
allAvailablePMs.push
这不是我们在C#中向列表添加元素的方式,没有push
方法,有一个add
。此外,如果MyStaticValues.pmmanageraray[s][0]
是字符串
,则不能添加到allAvailablePMs
,因为它需要一个列表
,在方法内声明变量时不应使用“public”。Intellisense并不像人类那样聪明。如果您有多个错误,那么在查找根案例方面可能不如人工。只需检查所有错误,看看是否可以修复其中任何一个。令人难以置信的是,一个放错位置的public
会让编译器感到困惑,而且编译器甚至不关心公众。谢谢所有发表评论的人,你帮我解决了这个问题。