如果 (val1 == val2) 与 if(val1 != val2)

if (val1 == val2) vs if(val1 != val2)

我一直在编写一个程序来测试一个值 (0<=value<=9) 并检查它是否为“0”。 (如果不是,则为 1-9)

我想知道 ==!= 是否会是 faster/better (我相信这会在机器代码级别?),如果有任何其他有效的方法这样做,或者根本没有区别。

透视:

if (value == 0)
{
     //do something
}
else
{
    //do something else
} 

或者...

if (value != 0)
{
     //do something else
}
else
{
    //do something
} 

PS: 我的程序多次重复这段代码,所以即使是很小的差异也会影响我的程序。

已经发布并回答了一个更一般的问题(不是特定于 c# 的问题)。看一看。

Is the inequality operator faster than the equality operator?

顺便说一句,在我看来,如果您正在比较整数,那么使用什么运算符并不重要,因为它们 运行 的速度相同。

这称为微观优化。我怀疑您在任何一种情况下都会体验到很大的不同。但是,!= IL 代码看起来比 == IL 代码小。