Я хочу сохранить список объектов CollidableActor, отсортированных по их свойству ".Position.X".
Мне интересно, какой будет самый быстрый (самый эффективный) способ сделать это. Сначала я думал об использовании SortedDictionary, а затем SortedList, но я читал, что SortedDictionaries в любом случае быстрее.
Теперь я в замешательстве, потому что не знаю, нужен ли мне словарь или список. Кроме того, при реализации интерфейса IComparable и создании метода CompareTo() будет ли достаточно просто вернуть .Position.X?
Если нет, есть ли лучшая структура или класс, который я мог бы использовать, чтобы быстро сортировать вещи по мере их добавления/удаления в соответствии с .Position.X? (Я буду часто добавлять/удалять объекты из списка; будет ли лучше сортировать по мере добавления объектов или после обновления, прежде чем использовать список?).
Спасибо.
Редактировать: На самом деле, поскольку все объекты будут уникальными, будет ли целесообразна какая-то коллекция HashSet? Спасибо.