假设我有一个很长的方法,我想在某些条件下中止。最好的方法是什么?以下是我能想到的两种方式。
try
{
// if i is 0, we don't want to continue
int i = testi();
if(i == 0)
throw new StopException("stop")
// the rest of our code
}
catch(StopException stop)
{
// handle our stop exception
}
catch{
// everything else
}
这是另一个
bool go = true
while(go)
{
// if i is 0, we don't want to continue
int i = testi();
if(i == 0)
{
go = false;
break;
}
// the rest of our code
}
这两个看起来都很笨拙。抛出异常似乎有点矫枉过正,我实际上并不想循环任何东西,因此while
被滥用。在我看来,在C#中应该(并且可能是)更优雅的方式吗?
DOY。我实际上已经使用过很多次了,出于某种原因,它今天突然出现了。谢谢你沉溺于我的愚蠢行为
答案 0 :(得分:5)
中断C#方法的标准方法是使用return
语句。
如果方法无效,只需return
,如果不是,那么return null
或return 0
取决于具体情况。
绝对不需要抛出异常而不是返回。
答案 1 :(得分:0)
只需使用return
语句退出方法。
void longMethod()
{
int i = testi();
if(i == 0)
return;
// Continue with method
}