C# 我如何处理与我的情况相反的情况?

C# 我如何处理与我的情况相反的情况?,c#,C#,我有一个foreach循环,代码不需要在一个特殊情况下运行。我是这样做的: if (!IsZoom && entry.StartDate.Year != Year && entry.EndDate.Year != Year) { } else { // my code... } 不知怎的,我对此并不满意。这样写可能更好吗 bool foo = !IsZoom && entry.StartDate.Year != Year &&am

我有一个
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...
}

颠倒你的逻辑。反转所有布尔表达式,并将
替换为

if (IsZoom || entry.StartDate.Year == Year || entry.EndDate.Year == Year) {
    // Do something...
}

你怎么认为!!!更好的代码是什么?如何定义更好的代码?即使这两者之间存在差异,你也可能永远不会注意到这一点。当然,这个问题不适合这里。Stackoverflow用于解决特定的编程问题。我认为,如果你问的是关于可读性的问题,那么2号代码是更好的代码。请告诉我,很高兴你能在问题结束之前把它写进去。