我正在寻找SortedSet< T>的存储器和性能有效的实现。 (对应于vanilla .NET中的System.Collections.Generic.SortedSet< T>)。
目前,我采用了一种非常简单的方法,实现了ISet< T>。接口和内部存储列表中的项目< T>我在每次数据收录后重新排序:
public class SortedSet<T> : ISet<T>
{
private List<T> _collection;
private readonly IComparer<T> _comparer;
...
}
我已经看了SortedSet的Mono源代码,但据我所知,这个实现不容易移植到Silverlight。在C5泛型集合类库中还有SortedArray类,我认为它适用于Silverlight,但后来我可能需要包含整个C5 library。我更喜欢更轻量级的解决方案。
有没有人对轻量,快速和内存效率高的开源SortedSet&lt; T&gt;提出任何建议。适用于Silverlight的实现?
答案 0 :(得分:1)
您可以实施SortedSet<T>
以在内部使用Mono implementation of SortedList<TKey, TValue>
。乍一看,这与其他Mono代码的依赖关系不如SortedSet<T>
。