C# 为什么我会犯错误;并非所有代码路径都返回一个值";对于这个布尔方法
我正在尝试创建一个类方法,用于检查名为“IngreditList”的列表,以查看它是否包含项目。我认为这与else语句“returnfalse”有关。这是我代码的一部分C# 为什么我会犯错误;并非所有代码路径都返回一个值";对于这个布尔方法,c#,class,methods,boolean,C#,Class,Methods,Boolean,我正在尝试创建一个类方法,用于检查名为“IngreditList”的列表,以查看它是否包含项目。我认为这与else语句“returnfalse”有关。这是我代码的一部分 public bool CheckIfCitrus() { foreach (string ing in IngredientList) { if ((ing.ToLower() == "lime peel
public bool CheckIfCitrus()
{
foreach (string ing in IngredientList)
{
if ((ing.ToLower() == "lime peel") | (ing.ToLower() == "orange peel"))
{
return true;
}
else
{
return false;
}
}
}
在任何情况下,你都必须归还一些东西
像这样设置默认值是可行的。问题就在这里
你处理了所有的if条件。但在每个循环的内。
只有当IngredientList至少有一个条目时,您才会进入循环,因为您只在循环内返回。如果IngredientList
为空,会发生什么情况?想想看,你就知道答案了。另外,如果IngCreditList第一项包含“巧克力”,第二项包含“莱姆皮”,那么它将返回false,这可能不是你想要的。
public bool CheckIfCitrus()
{
foreach (string ing in IngredientList)
{
if ((ing.ToLower() == "lime peel") | (ing.ToLower() == "orange peel"))
{
return true;
}
}
return false;
}