2014-03-03 44 views
0

我想知道是否有一个命令将具有相同的功能exit如何停止执行方法内某个方法的其余部分?

所以,举例来说:

if (Average < 35) 
{ 
    MessageBox.Show("you failed"); 
    **EXIT** 
} 

if (Average >= 75) 
{ 
    lblOutput.Text += Name +" " + Surname + ", " + "your average was: " + Average + ", you shall recieve a bursary!"; 
} 
else 
    lblOutput.Text += Name +" " + Surname + ", " + "your average was: " + Average + ", you shall not revieve a bursary!"; 

即使平均低于35,该脚本将进行持续和lblOutput仍然会说You shall not receive a bursary.,同时它应该只是显示MessageBox,而不是与做任何事标签。

有人可以解释如何做到这一点?

+0

你想从函数返回还是终止进程? – sinelaw

回答

4

您可以使用return;来停止执行路径。

+0

很酷,谢谢兄弟! –

+0

这将不会“继续”到lblOutput代码(如问题中提到的OP)。 –

+4

@BradChristie认为你误读就像我最初做的那样,OP说现在的代码*会这样做,但他们不希望这样做。 – James

1

我想,当前代码驻留在方法返回类型为void,你可以简单地使用return;

if (Average < 35) 
{ 
    MessageBox.Show("you failed"); 
    return; 
} 
0

相反或返回只是做

if() 
{ 
} 
else 
{ 
} 
1

可选择使用return提前退出,你可以写出你的if语句,这样就可以自然遵循代码路径

if (Average >= 75) 
{ 
    lblOutput.Text += Name +" " + Surname + ", " + "your average was: " + Average + ", you shall recieve a bursary!"; 
} 
else if (Average >= 35) 
{ 
    lblOutput.Text += Name +" " + Surname + ", " + "your average was: " + Average + ", you shall not revieve a bursary!"; 
} 
else 
{ 
    MessageBox.Show("you failed"); 
} 

对我来说,这是从可读性的角度来看更好。