Silverlight中的SortedSet:寻找内存和时间效率的实现

时间:2011-09-06 07:27:11

标签: c# silverlight collections sortedset

我正在寻找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的实现?

1 个答案:

答案 0 :(得分:1)

您可以实施SortedSet<T>以在内部使用Mono implementation of SortedList<TKey, TValue>。乍一看,这与其他Mono代码的依赖关系不如SortedSet<T>