我有一堆看起来像这样的对象:
public class MyObject
{
public DateTime SortProperty { get; set; }
// ...
}
SortProperty可以更改,并且可能有很多MyObject
个。插入只执行一次,但SortProperty
可以经常更改(我想我需要为此实现INotifyPropertyChanged
并将其挂钩到新的排序(?))。访问对象时,最重要的要求是能够1)以排序的方式访问对象,2)访问之前的对象和给定对象之后的 。所以问题是,我应该用什么样的数据结构来实现这个目标?
到目前为止,我一直在谷歌上搜索,并考虑过SortedList<TKey, TValue>
和SortedSet
。列表的问题在于它不接受重复的密钥,而该集合的问题在于我不确定是否能够用它完成需求2。
我是否遗漏了一些明显的东西,或者是否有其他数据结构更符合我的要求?