是否有理由进行详细的布尔评估?

时间:2012-06-30 14:39:14

标签: c# algorithm boolean return-value

  

可能重复:
  Boolean types

有时候你想有条件地将bool设置为true或false,否则只是为了不让它。但很多时候,您确实希望根据此状态和/或状态将其设置为true或false。我经常想知道为什么,在后一种情况下,大多数人似乎都在编写这样的代码(甚至在书中):

if ((location < Platypi.Length) && (Platypi[location] != null))
{
  return true;
}
else
{
  return false;
}

如果这一点更清晰,更简洁:

return ((location < Platypi.Length) && (Platypi[location] != null));

真的是冗长的首选方法吗?对我而言,它与代码气味相关。

1 个答案:

答案 0 :(得分:3)

不,除了明确清楚代码流之外,没有理由这样做。就个人而言,我会把它写成:

return location < Platypi.Length && Platypi[location] != null;
但是,因为我觉得它和扩展版一样容易理解。但是有些人可能会被它抛弃。

或者,这可能是人们偶尔犯的错误。