如果 (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 代码小。
我一直在编写一个程序来测试一个值 (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 代码小。