布尔返回的方法 - if else vs if

时间:2010-10-21 18:24:51

标签: methods boolean return if-statement

举例说明以下两个陈述:

if (booleanVariable)
{
  doSomething();

  return true;
}
else
{
  return false;
}

if (booleanVariable)
{
  doSomething();

  return true;
}

return false;

哪一个更受欢迎?

他们最终都会返回相同的结果。

任何理由都比其他人更好用吗?

3 个答案:

答案 0 :(得分:9)

就个人而言,我认为最干净的方式是

if (booleanVariable) {
    doSomething();
}
return booleanVariable;

如果设置了变量,则在if块之外移动冗余返回会突出显示您正在执行的操作。

答案 1 :(得分:0)

if ... else结构提供了更易读的代码,但是如果你理解它并且不想写得那么多,那就做第二个: - )

答案 2 :(得分:0)

我会以不同的方式做到这一点。因为,你的第一个代码解决方案可能会出错,至少在c#中,因为你需要在if-else范围之外返回一个值。

我会创建一个单独的bool变量,并根据你的if-test结果将其设置为true / false

bool test;

if (booleanVariable)
{
  doSomething();

  test = true;
}

return test;

现在如果if-test失败,则返回bool将默认为false。