在 C、C++ 和 C# 中,当在函数或循环语句中使用条件时,可以尽早使用 continue 或 return 语句并摆脱if-else 语句的 else 分支。例如:
while( loopCondition ) {
if( innerCondition ) {
//do some stuff
} else {
//do other stuff
}
}
变成
while( loopCondition ) {
if( innerCondition ) {
//do some stuff
continue;
}
//do other stuff
}
和
void function() {
if( condition ) {
//do some stuff
} else {
//do other stuff
}
}
变成
void function() {
if( condition ) {
//do some stuff
return;
}
//do other stuff
}
如果 if-else 分支很长,则“after”变体可能更具可读性,因为这种更改消除了 else 分支的缩进。
这样使用 return/continue 是个好主意吗?是否存在任何可能的维护或可读性问题?
最佳答案
我个人的选择方法是,如果 if
部分的主体很短(最多 3 或 4 行),则使用 return/continue
变体。如果 body 很长,很难跟踪控制流,所以我选择 else
版本。
因此,通常情况下,这种方法会限制 return/continue
样式的使用以跳过一些数据并避免进一步处理,而不是使用一个以下方法中的一种(更适合if/else
)。
关于c# - 我应该使用 return/continue 语句而不是 if-else 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/963982/