【发布时间】:2014-09-01 22:25:05
【问题描述】:
我想知道在 list.first() 和 list[0] 的背后发生了什么,哪个表现更好。
例如哪个更快?
for(int i = 0; i < 999999999999... i++)
{
str.Split(';').First() vs. str.Split(';')[0]
list.Where(x => x > 1).First() vs. list.Where(x => x > 1).ToList()[0]
}
抱歉,如果有重复的问题
【问题讨论】:
-
list.Where(x => x > 1).First()vslist.Where(x => x > 1).ToList()[0]第一个解决方案具有更好的性能 - 第二个将枚举整个序列,而第一个解决方案将在第一个元素处停止。 -
为什么不试试呢?执行你自己的基准测试,我不完全确定潜在的差异,但我想
First()是延迟执行 -
@Marwie - 这不是一个完整的副本,因为它没有回答第一次比较
-
@Marwie - 因为您要添加转换操作,所以一切都不同
标签: c#