if(a==b||a==c||a==d){return}与if(a==b){return};if(a==c){return};if(a==d){return};哪个效率高C

解决方案 »

  1.   

    前者。
    if(a==b||a==c||a==d){return} ||逻辑或,a==b如果为真,后面不执行,直接到return。如果a==b为假,则判断a==c,如果a==c为真,则return。以此类推。
      

  2.   

    因为C#在遇到||时发现有一个条件满足就不执行后者,所以理论上来说,看你a==b出现的几率大还是b==c出现的几率大,选择你预测几率大的写在前面效果更好。但是实际上效率一样。因为对于现代的CPU来说,它会自动统计跳转的频率,并且进行分支预测。
      

  3.   

    我说的现代的CPU是指P6(Intel Pentium II/AMD K7)以及以后的处理器,但是不包括Intel ATOM。
      

  4.   

    这就个语句有必要考虑效率吗?意义不大。
    把精力放在效率有提升潜力的地方更实际些,比如:数据库表结构,SQL语句等。