SortedSet в Silverlight: в поисках эффективного использования памяти и времени - PullRequest
1 голос
/ 06 сентября 2011

Я ищу реализацию 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?

1 Ответ

1 голос
/ 06 сентября 2011

Вы можете реализовать SortedSet<T> для внутреннего использования Mono реализации SortedList<TKey, TValue>.На первый взгляд, это не так сильно зависит от другого моно кода, как SortedSet<T>.

...