У меня есть коллекция Layers
, где у них есть имена и цвета. Что я хочу сделать, так это отсортировать их сначала на основе цветов, а затем на основе их имен:
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, где я получаю список Layers
по порядку создания, поэтому мне нужно получить полный список Layers
, чтобы отсортировать их так, как я хочу.
В конце концов список Layers
будет привязан к интерфейсу WPF, где пользователи смогут добавлять новые слои, поэтому я хотел бы, чтобы внутренний список всегда сортировался, поскольку производительность не важна (номер Layers
меньше тысячи).
В конце сортировки Layers
, я отсортирован через что-то вроде этого:
class Image
{
public MySortedList<Layer> Layers {get; set;}
}
Какой лучший способ сделать это?