我有一个foreach
循环,其中代码不需要在一个特例中运行。我这样做了:
if (!IsZoom && entry.StartDate.Year != Year && entry.EndDate.Year != Year)
{
}
else
{
// my code...
}
不知怎的,我对此并不满意。写下这个可能更好吗?
bool foo = !IsZoom && entry.StartDate.Year != Year && entry.EndDate.Year != Year;
if (!foo)
{
// my code...
}
答案 0 :(得分:5)
扭转你的逻辑。反转所有布尔表达式,并将AND
替换为OR
:
if (IsZoom || entry.StartDate.Year == Year || entry.EndDate.Year == Year) {
// Do something...
}