重构if条件,以便if和else块的逻辑互换。 C#

时间:2018-09-26 06:04:31

标签: c# if-statement refactoring

在Windows应用程序中,我有以下内容。

bool somebooleanValue = getBooleanValue();
string someString = getStringValue();

if (!somebooleanValue && someString == "StringValue")
{
    //do nothing
}
else
{
    // do some calculations
}

在这里,如果somebooleanValue为false且someString等于“ StringValue”,则它必须跳过要执行的计算。因此,我已经提出了上述条件。

现在,如果我必须重构代码并更改条件,那么如果block不为空,我应该怎么做?

我已经尝试过了

if !(!somebooleanValue && someString == "StringValue")
{
    //do some calculations
}
else
{
    // do nothing
}

但是它给出一个错误,说“)预期”。我无法找出问题所在。谁能帮我

1 个答案:

答案 0 :(得分:1)

您好,您可能没有在if条件下写括号

SELECT location_id,
       product_id,
       sum(quantity) FILTER (WHERE date::date <= '2018-09-23') AS open,
       sum(quantity) FILTER (WHERE date::date >  '2018-09-23') AS current
FROM stock_history
GROUP BY location_id, product_id;

这不会给您“)预期” 错误。