哪种方法更快-foreach或LINQ选择?
我正在处理清单收集。以下哪项执行速度更快? 将结果中的项目数考虑为1000。 方法1:哪种方法更快-foreach或LINQ选择?,linq,linq-to-sql,Linq,Linq To Sql,我正在处理清单收集。以下哪项执行速度更快? 将结果中的项目数考虑为1000。 方法1: var linqResult = from item in databaseObject 选择项目 foreach(customobject item in linqResult) { List<customobject>.add(item); } 我认为linq选择的好处是,它提供了延迟执行,而简单的foreach则没有。如果你使用 收益回报率 默认情况下,您可以实现linq提供的功能。 我
var linqResult = from item in databaseObject
选择项目
foreach(customobject item in linqResult)
{
List<customobject>.add(item);
}
我认为linq选择的好处是,它提供了延迟执行,而简单的foreach则没有。如果你使用
收益回报率
默认情况下,您可以实现linq提供的功能。
我不知道是否有任何性能差异,但延迟执行可以节省大量内存
你试过运行代码吗?您的结果是什么?数据库开销足够大,我怀疑它将非常接近相同的结果。如果您只希望获取某些字段,则后者可能更有效。@SLaks,为什么这不重要?在软件设计中,性能几乎总是很重要的?我认为这只是一个理论问题,有1000条记录并不重要。使用linq可以编写更少的代码。@series0ne:性能在软件开发中很少重要。注意:他或她还应该尝试在测试中切换顺序(先运行foreach,再运行linq,反之亦然)。另外,关于第4点,还有一个可以用来代替Parallel.ForEach的。下面是一篇比较两者的优秀PDF文章:
var data = from item in databaseObject
select new customobject()
{
//initialize properties
});
data.ToList();