这种逻辑条件是否会检查不良做法?

时间:2016-02-18 00:10:04

标签: c# logical-operators

我有一个返回结果类的方法。结果类有一个Boolean属性,用于指示操作是否成功。只有符合许多标准才能成为现实。我认为以下代码比等效的if语句更简洁,但我想检查我所做的是否被认为是不好的做法。

bool successfullyParsed;

bool conditionA = true;
bool conditionB = true;

successfullyParsed = conditionA && conditionB;
//successfullyParsed should only be true if both criteria are true.

2 个答案:

答案 0 :(得分:1)

不,这不是不好的做法 - 实际上它可以是让更复杂的条件逻辑更具可读性的好方法,例如(一个简单的例子):

bool isLive = pages.Any(x => x.Live == true && x.Published == true && ...)

在您的示例中,您是否可以执行以下操作以使其更具可读性?

bool conditionA = true;
bool conditionB = true;

bool successfullyParsed = conditionA && conditionB;

这样您就可以删除successfullyParsed的初始声明。

如果你的方法是返回你成功解析的布尔值,那么你可以进一步缩短它:

bool conditionA = true;
bool conditionB = true;

return conditionA && conditionB;

答案 1 :(得分:1)

这非常好,实际上是解决这个问题的优雅方案。