可能重复:
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));
真的是冗长的首选方法吗?对我而言,它与代码气味相关。
答案 0 :(得分:3)
不,除了明确清楚代码流之外,没有理由这样做。就个人而言,我会把它写成:
return location < Platypi.Length && Platypi[location] != null;
但是,因为我觉得它和扩展版一样容易理解。但是有些人可能会被它抛弃。
或者,这可能是人们偶尔犯的错误。