我可以安全地使用DateTime作为一个SortedDictionary<K, V>没有实现自己的关键IComparer吗?
我已经尝试了它并且维护了排序顺序,并且重要的是为了我的目的,该.ContainsKey<T>方法按预期工作.但我只想在将自己投入这条道路之前进行双重检查.
你不需要新的IComparer.您的默认IComparer将使用您的值对象中的GetHashCode()并与之进行比较/排序.由于DateTime类型正确实现了GetHashCode(),因此默认IComparer将按您的意愿排序(就像您发现的那样).
创建新的比较器更适合您自己编写的复杂集合.我写过一次复杂的比较器.这有点令人兴奋.