【发布时间】:2014-02-07 11:06:39
【问题描述】:
我正在尝试编写返回给定整数是否可被 1 到 20 整除的代码,
但我不断收到以下错误:
错误 CS0161:“ProblemFive.isTwenty(int)”:并非所有代码路径都返回值
这是我的代码:
public static bool isTwenty(int num)
{
for(int j = 1; j <= 20; j++)
{
if(num % j != 0)
{
return false;
}
else if(num % j == 0 && num == 20)
{
return true;
}
}
}
【问题讨论】:
-
您的代码没有意义,但错误信息很清楚。即使您的 if 条件在 20 次迭代中都为假,您也需要返回一个值。
-
您像人类一样思考,而不是编译器。编译器不知道你在想什么,或者逻辑应该如何流动(过去的优化)。如果一个值不匹配任何一个“if”会发生什么?
标签: c# return code-analysis