当前位置:  开发笔记 > 程序员 > 正文

DateTime作为SortedDictionary <K,V>中的键

如何解决《DateTime作为SortedDictionary<K,V>中的键》经验,为你挑选了3个好方法。

我可以安全地使用DateTime作为一个SortedDictionary没有实现自己的关键IComparer吗?

我已经尝试了它并且维护了排序顺序,并且重要的是为了我的目的,该.ContainsKey方法按预期工作.但我只想在将自己投入这条道路之前进行双重检查.



1> bruno conde..:

我工作得很好,因为DateTime工具IComparable.所以你可以依赖Comparer(T).Default.

在内部,DateTime使用滴答来比较2个日期.



2> Matt Kocaj..:

你不需要新的IComparer.您的默认IComparer将使用您的值对象中的GetHashCode()并与之进行比较/排序.由于DateTime类型正确实现了GetHashCode(),因此默认IComparer将按您的意愿排序(就像您发现的那样).

创建新的比较器更适合您自己编写的复杂集合.我写过一次复杂的比较器.这有点令人兴奋.



3> devstuff..:

我没有预见到任何问题。在幕后,该值是一个较长的滴答值。

另外,请确保所有值都基于同一时区-我个人使用UTC / GMT进行存储和计算,并且仅在显示时调整为本地时间。

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有