![]() |
1
6
LINQ版本变慢的原因之一是,创建了两个字典而不是一个字典:
Linq查询速度较慢的另一个原因是,Linq依赖于lambda表达式(达坦答案中的委托),调用委托与内联代码相比,会增加少量开销。 编辑: 请注意,对于某些LINQ方案(如LINQ to SQL,但不在内存中,如此处),重写查询将生成一个更优化的计划:
但是请注意,这并不是给你一本字典,而是一系列单词及其计数。你可以用
|
![]() |
2
1
当我构建您的第二个示例,然后在Reflector的反汇编视图中打开它时,我得到以下信息:
可能这需要更长的时间,因为有更多的函数调用正在发生,并且经过了一百万个迭代的累积过程。 |
![]() |
3
0
通过完全滥用LINQ,我能够让它保持一致,并且通常比foreach循环快一点,即使使用委托呼叫:
甚至改变
|
![]() |
4
0
可以使用lambda表达式解决问题:
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
pseudodev · 失败的测试仅显示堆栈跟踪,不显示完整日志 5 月前 |
![]() |
CactusCake · if语句中应有分号 6 月前 |
![]() |
Bin4ry · 子文件夹中的应用程序设置 6 月前 |