if()如何在C#中错误地计算

时间:2011-06-17 17:10:07

标签: c# visual-studio visual-studio-debugging

我有一点点逻辑。

int i = 0;
if (i < 0) { 
  //whatever; 
}

当我使用VS进行调试时,我看到i设置为0但是if评估为false!怎么会这样?

GUYS。也许我可以更好地措辞!上面的表达式应该在我为0时评估为假,当我在VS中将鼠标悬停在它上面时它会看到它进入括号并做“无论什么”......这是不对的。

编辑:请参阅我的similarly named but more recent question了解解决方案。

10 个答案:

答案 0 :(得分:9)

0不小于0.它等于。做if (i <= 0)

答案 1 :(得分:5)

那是因为0&lt; 0是假的。

答案 2 :(得分:2)

如果i等于0,则为假,因为它不小于0.

您的想法是if(i == 0)if (i <= 0)(或者就此而言if(i >= 0))。如果i等于0,则其中每一项都是正确的。

答案 3 :(得分:2)

因为我不低于零。因此,表达式的计算结果为false,这是正确的。

答案 4 :(得分:2)

0不小于0.它小于OR EQUAL到0

答案 5 :(得分:2)

它的计算结果为false,因为0不小于0.

答案 6 :(得分:2)

0 < 0始终为false。在什么条件下,您希望它评估为true

答案 7 :(得分:2)

答案是因为我不低于0.

为了使if语句评估为true,我需要是一个负整数。

答案 8 :(得分:1)

0 < 0是假的。如果<=i

,请使用0评估为真

答案 9 :(得分:1)

也许你需要简单的逻辑:

int i = 0;
if(i <= 0) {Whatever }