c# 中return

public int a=0,b=0;
public bool max()
{
for (int i = 0; i < 12; i++)
{
if (i == 3)
{
return (a > b ? true : false);
}
else
continue;
}
老是提识说“并不是所有代码路径都返回值;
有没有人可以帮我看哈这是为什么?
帮我解救下。
就算把else
后改成else
return false;
也提示以样的错误啊

自己看错误提示。“并不是所有代码路径都返回值;”这就是你的问题了还用问人么??
你的函数public bool max() 返回值是bool。而你下面的语句的else分支没有指出返回true或者false所有通不过编译。
其实你的esle分支有用处么?还是你代码精简后才放上来的。。。如果if不成立,循环自己就continue了。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-06
你要返回一个bool类型啊
if (i == 3)
{
return (a > b ? true : false); //这里倒是return了
}
else
continue; //这里没有return啊

如果你continue完了都不符合i==3的条件呢,不就是无法返回了?

我建议你在代码的最后放一个return false,如果前面没有return true,最终都将return这个false
第2个回答  2008-04-06
意思是说你的return在if中,如果if条件始终不成立,岂不无法返回值了?
你不还有个for循环嘛?如果for循环体一次也执行不了呢?
第3个回答  2008-04-06
christiankula 正解。。
continue之后无返回值~
第4个回答  2008-04-06
程序是死的,所以在每一个可能返回的地方都要写返回
如:else
相似回答
大家正在搜