Я ищу реализацию SortedSet с эффективным использованием памяти и производительности (соответствует System.Collections.Generic.SortedSet в vanilla .NET).
В настоящее время я выбрал очень упрощенный подход, реализуя интерфейс ISet и внутренне сохраняя элементы в списке , который я сортирую после каждого включения данных:
public class SortedSet<T> : ISet<T>
{
private List<T> _collection;
private readonly IComparer<T> _comparer;
...
}
Я взглянул на исходный код Mono для SortedSet , но, насколько я могу судить, эта реализация не легко переносима в Silverlight. Существует также класс SortedArray в библиотеке классов универсальной коллекции C5, который, я считаю, применим к Silverlight, но тогда мне, вероятно, потребуется включить всю библиотеку C5 . Я бы предпочел более легкое решение.
Есть ли у кого-нибудь рекомендации относительно легкой, быстрой и эффективной по памяти реализации SortedSet , применимой к Silverlight?