我一直在编写一个程序,它测试一个值(0<=value<=9)
并检查它是否为'0‘。(如果不是的话,从1-9开始)
我想知道==
或!=
是否会更快/更好(我相信这是在机器代码级别?),是否有其他有效的方法来做到这一点,或者根本没有区别。
洞察:
if (value == 0)
{
//do something
}
else
{
//do something else
}
或者..。
if (value != 0)
{
//do something else
}
else
{
//do something
}
PS:我的程序多次重复这段代码,所以即使是微小的差异也会影响我的程序。
发布于 2015-09-08 17:33:44
有一个更一般的问题(不是c#特定的)已经发布并回答了。瞧一瞧。
Is the inequality operator faster than the equality operator?
顺便说一句,在我的观点中,如果你是在比较整数,那么你用哪一个操作符以相同的速度运行并不重要。
发布于 2015-09-08 17:38:42
这就是所谓的微观层次优化。我怀疑你在这两种情况下都会有很大的不同。但是,!=
IL代码看起来比==
IL代码要小。
https://stackoverflow.com/questions/32469528
复制