.net - LINQ Where 扩展方法是否针对 SortedDictionary 进行了优化?

标签 .net linq sorteddictionary

各位,

如果我调用 LINQ Where 扩展方法,它是利用 SortedDictionary 中的排序还是遍历每个 KVP 并进行比较?在按条件搜索场景中使用 SortedDictionary 有优势吗?

谢谢!

最佳答案

不,虽然 LINQ 方法会尝试进行一些基本的转换(即在需要长度估计时转换为 ICollection),但它们无法开始将 IEnumerable 转换为那里的每个 .net 集合以查看它们是否可以利用该集合的属性.

但是,如果您知道 SortedDictionary 源的属性,您可以使用 TakeWhile 或 SkipWhile 代替 Where 吗?

关于.net - LINQ Where 扩展方法是否针对 SortedDictionary 进行了优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4141529/

相关文章:

c# - 在 C# 中,将 List<T> 转换为 SortedDictionary<string, T> 的最佳方法是什么?

.net - 搜索字符串并从字符串中提取尺寸或数量值

c# - ObserveOn with Scheduler.NewThread 不这么观察,如果observer的OnNext被阻塞继续

C#从linq组中的日期获取分钟数

c# - CodePlex 对表达式树序列化库的看法?

c# - 显示嵌套的 SortedDictionary 中的元素

c# - 线程安全的 SortedDictionary

c# - 获取堆栈跟踪错误并且不明白为什么

c# - RSA 加密 - 使用私钥加密

ASP.NET MVC - 根据上一篇文章对论坛主题进行排序