У меня есть коллекция слоев
, где у них есть имена и цвета. Что я хочу сделать, так это отсортировать их сначала по цветам, а затем по их именам:
class Layer
{
public string Name {get; set;}
public LayerColor Color {get; set;}
}
enum LayerColor
{
Red,
Blue,
Green
}
Примерно:
(red) layer2
(red) layer7
(blue) layer0
(blue) layer3
...
Я смотрел на SortedList, но он действует как Словарь, поэтому не позволяет дублировать элементы.
Также я использую API, в котором я получаю список слоев
в порядке создания, поэтому мне нужно получить полный список слоев
, чтобы отсортировать их так, как я хочу.
В конце концов список слоев
будет привязан к пользовательскому интерфейсу WPF, где пользователи будут иметь возможность добавлять новые слои, поэтому я хотел, чтобы внутренний список всегда был отсортирован, поскольку производительность не важна ( количество слоев
меньше тысячи).
В конце концов Слои
, которые я отсортировал, будут доступны примерно так:
class Image
{
public MySortedList<Layer> Layers {get; set;}
}
Как лучше всего это сделать?