有时在JavaScript或C#代码中,我会看到“1 == 1”条件语句。
C#示例:
if (!IsPostBack || 1==1)
我知道在Sql语句中,1 = 1可以使用when dynamically building queries或者在创建sql注入攻击时,但是我不理解在C#或JavaScript中总是求值为true的测试的实际用法。
答案 0 :(得分:9)
没有价值。这使条件始终为真,因此您只需删除if
。
我想它是在调试问题时添加的,以强制执行这个特定的分支,而它只是忘记删除它。我称之为一个错误。
答案 1 :(得分:2)
开发人员测试以下内容:
我看到的唯一真正的实际用途是:
答案 2 :(得分:1)
具有if
条件的1==1
是对if
语句的误用。虽然语法合理,但它会删除if
的价值。
正如丹尼尔所说,它可能在调试特定部分代码时使用。如果它留在生产代码中,则可能是错误,否则完全滥用if
语句。
if ( !IsPostBack || 1==1)
{
// Do Something
}
相当于
//Do Something