在条件语句中插入“1 == 1”(1等于1)的实际用途是什么?

时间:2013-07-22 18:33:10

标签: c# javascript conditional-operator

有时在JavaScript或C#代码中,我会看到“1 == 1”条件语句。

C#示例:

if (!IsPostBack || 1==1)

我知道在Sql语句中,1 = 1可以使用when dynamically building queries或者在创建sql注入攻击时,但是我不理解在C#或JavaScript中总是求值为true的测试的实际用法。

3 个答案:

答案 0 :(得分:9)

没有价值。这使条件始终为真,因此您只需删除if

我想它是在调试问题时添加的,以强制执行这个特定的分支,而它只是忘记删除它。我称之为一个错误。

答案 1 :(得分:2)

开发人员测试以下内容:

  • 无论“Real”参数值
  • ,都会执行函数/ method / sub / etc
  • 看看您的参数将如何受到False ||的影响真实情况

我看到的唯一真正的实际用途是:

  • 测试
  • SQL注入,如你所说

答案 2 :(得分:1)

具有if条件的1==1是对if语句的误用。虽然语法合理,但它会删除if的价值。

正如丹尼尔所说,它可能在调试特定部分代码时使用。如果它留在生产代码中,则可能是错误,否则完全滥用if语句。

if ( !IsPostBack || 1==1)
{
    // Do Something
}

相当于

//Do Something