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

C# 在C中,if()如何计算错误#,c#,visual-studio,visual-studio-debugging,C#,Visual Studio,Visual Studio Debugging,我有一点简单的逻辑 int i = 0; if (i < 0) { //whatever; } inti=0; 如果(i

我有一点简单的逻辑

int i = 0;
if (i < 0) { 
  //whatever; 
}
inti=0;
如果(i<0){
//不管怎样;
}
当我用VS调试时,我看到
I
设置为0,但if的计算结果为false!这怎么可能

伙计们。也许我可以用更好的措辞!!!当i为0时,上面的表达式应计算为false,当我将鼠标悬停在VS中时,会看到该表达式,但它进入括号并执行“任何操作”。。。这是不对的


编辑:请查看我的解决方案。

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


您所考虑的是
if(i==0)
if(i=0)
)。如果
i
等于
0

0不小于0,则上述各项均为真。等于。如果(i这是因为0<0为假。

因为i不小于零。因此,表达式的计算结果为假,这是正确的。

0不小于0。它小于或等于0

它的计算结果为假,因为0不小于0。

0<0
将始终为
false
。在什么条件下您期望它计算为
true

0<0
为false。使用
答案是因为i不小于0


为了使if语句的计算结果为true,我需要一个负整数。

也许您的简单逻辑需要是:

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

如果(i 0不小于0简单的逻辑不够简单。这个问题将打破发布的大多数语义相同答案的记录。然而,我认为向下投票是严厉的。这个问题问得很好,OP试图用他的调试器解决它。他只是不理解错误的根本原因,这没关系。@raz-Wel我问?你是认真的吗?他完全没有解释到底是什么问题。因此它不应该做“任何”对吗?但我的是…@曼尼蒙:那你为什么说“它的评估是错误的”对不起,Jon,我的措辞不清楚-我现在已经编辑了粘贴您的实际代码段。没有更多信息,大多数人都会认为是PEBCAK