GR7*_*GR7 4 linq performance sorteddictionary .net-3.5
我正在使用SortedDictionaries来模拟一个队列(由于我有一些要求),我在排序的字典上调用Last()来获取我需要出列的项目.
我只是想知道使用自定义比较器并调用First()或继续调用Last()的性能.
在反编译.NET 3.5程序集之后,我发现SortedDictionary类确实有一个Count属性,所以我猜测框架只返回调用First时位置0的项目,以及位置[count-1]时的项目最后一个叫,我是对的?
Last方法是类中的扩展方法Enumerable。Last first的实现尝试将IEnumerable(您的SortedDictionary)强制转换为IList<T>。如果可以,则使用Count属性直接访问最后一个元素。如果不能,那么它必须遍历所有元素才能到达最后一个元素。SortedDictionary没有实现IList<T>,因此Last将遍历所有元素。
| 归档时间: |
|
| 查看次数: |
854 次 |
| 最近记录: |