日期:2014-05-18  浏览次数:20764 次

下面代码中,效率上的差异需要考虑么?
foreach( DataRow row in tbl.rows)
{
  action1(row);
  action2(row);
  action3(row);
}

foreach( DataRow row in tbl.rows)
{
  action1(row);
}
foreach( DataRow row in tbl.rows)
{
  action2(row);
}
foreach( DataRow row in tbl.rows)
{
  action3(row);
}

这两种写法肯定会有效率上的差异,
在实际项目中,是否需要考虑优化这样的代码?


  不考虑代码的简洁性,就单纯的讨论执行效率的差异。



------解决方案--------------------
foreach比起for来,效率还是有差距的. 上面和下面 就是一次循环和3次循环的差别
------解决方案--------------------
能优化就有优化。
遍历又不是不需要时间的...
------解决方案--------------------
对效率要求不高的程序可以不优化,但对于一个完美主义者而言,是不允许这样的代码出现的。
------解决方案--------------------
当然要优化,无论从代码简洁还是性能来说,都不应该用第二种方法
------解决方案--------------------
不管怎么样..都不应该出现第二种方法的代码
------解决方案--------------------
那就无所谓了
能优化尽量优化,毕竟循环的时间不会太久的
探讨
引用:
当然要优化,无论从代码简洁还是性能来说,都不应该用第二种方法


几个循环是遍布在几个不同的类中的,通过Decorator模式串连到一起执行的。
如果要放到一个循环里,就需要打破原来的程序结构。改动比较大。而且去掉Decorator模式,对现有系统也不是太合适,两难!!

------解决方案--------------------
差距肯定有的,
但是,简洁也是很重要的。
------解决方案--------------------

无论是从效率方面说,还是简洁方面讲,都应该使用第一种方法.
循环式需要时间的,使用第一种方法的效率要高于第二种
------解决方案--------------------
优化是必须的 美观也是要的 注释是少不了的
------解决方案--------------------
探讨
引用:
当然要优化,无论从代码简洁还是性能来说,都不应该用第二种方法


几个循环是遍布在几个不同的类中的,通过Decorator模式串连到一起执行的。
如果要放到一个循环里,就需要打破原来的程序结构。改动比较大。而且去掉Decorator模式,对现有系统也不是太合适,两难!!