我应该使用 return/continue 语句代替 if-else 语句吗?
- 论坛
- 我应该使用 return/continue 语句代替 if-else 语句吗?
37 浏览
我应该使用 return/continue 语句代替 if-else 语句吗?
在C、C++和C#中,在函数或循环语句中使用条件时,可以尽早使用continue或return语句,从而消除if-else语句的else分支。例如:
while( loopCondition ) { if( innerCondition ) { //执行一些操作 } else { //执行其他操作 } }
可以改写为:
while( loopCondition ) { if( innerCondition ) { //执行一些操作 continue; } //执行其他操作 }
以及
void function() { if( condition ) { //执行一些操作 } else { //执行其他操作 } }
可以改写为:
void function() { if( condition ) { //执行一些操作 return; } //执行其他操作 }
如果if-else分支很长,使用“后者”变体可能更易读,因为这种改变消除了else分支的缩进。
使用return/continue这样的方式是个好主意吗?是否存在可能的维护或可读性问题?