![]() |
1
6
LINQ版本变慢的原因之一是,创建了两个字典而不是一个字典:
Linq查询速度较慢的另一个原因是,Linq依赖于lambda表达式(达坦答案中的委托),调用委托与内联代码相比,会增加少量开销。 编辑: 请注意,对于某些LINQ方案(如LINQ to SQL,但不在内存中,如此处),重写查询将生成一个更优化的计划:
但是请注意,这并不是给你一本字典,而是一系列单词及其计数。你可以用
|
![]() |
2
1
当我构建您的第二个示例,然后在Reflector的反汇编视图中打开它时,我得到以下信息:
可能这需要更长的时间,因为有更多的函数调用正在发生,并且经过了一百万个迭代的累积过程。 |
![]() |
3
0
通过完全滥用LINQ,我能够让它保持一致,并且通常比foreach循环快一点,即使使用委托呼叫:
甚至改变
|
![]() |
4
0
可以使用lambda表达式解决问题:
|
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Pavel Foltyn · 如何在C中生成逆字典# 6 月前 |
![]() |
ewok · 基于种子和上一个值创建值列表 11 月前 |
|
Vasu V · 将foreach转换为select语句 11 月前 |
![]() |
Modest · 使用命名空间和文本值序列化xElement 1 年前 |