c# - 获取 SortedDictionary 的倒数第二个元素

标签 c# collections dictionary

我有一个排序的字典,看起来像这样:

SortedDictionary<DateTime, string> mySortedDictionary = GetDataSource();

要获取最后一个元素,我注意到我可以这样做:

DateTime last = Convert.ToDateTime(mySortedDictionary.Keys.Last());

有没有办法得到倒数第二项?我目前正在考虑的方式是获取最后一项,然后计算倒数第二项是什么。我的 DateTime 键都有一个固定的模式,但是,不能保证我完全知道它们。

最佳答案

dictionary.Keys.Reverse().Skip(1).FirstOrDefault()

这将花费 O(n) 时间,但据我所知似乎没有快速解决方案。

关于c# - 获取 SortedDictionary 的倒数第二个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14614378/

相关文章:

c# - Autofac Singleton Decorator 构造多次

c# - 如何在 IEnumerable<T> 上实现 ICollection<T>

javascript - 有没有办法在调用诺基亚反向地理编码 API 时关联响应和查询?

python - 在不覆盖现有键值对的情况下更新字典?

java - 从集合类获取同步集合是否同步一个类?

ruby - Ruby 中的 Twitter id_str 未定义方法 #map 错误

c# - 如何安全地处理使用 await foreach 检索到的 IAsyncDisposable 对象?

c# - 在 DataGridView 中过滤元素

c# - .NET 默认值属性

java - 尝试使用资源如何调用刷新方法