У меня есть список сообщений. Каждое сообщение имеет тип.
public enum MessageType
{
Foo = 0,
Bar = 1,
Boo = 2,
Doo = 3
}
Имена перечислений произвольны и не могут быть изменены.
Мне нужно вернуть список, отсортированный как: Boo, Bar, Foo, Doo
Мое текущее решение - создать tempList, добавить значения в том порядке, который я хочу, вернуть новый список.
List<Message> tempList = new List<Message>();
tempList.AddRange(messageList.Where(m => m.MessageType == MessageType.Boo));
tempList.AddRange(messageList.Where(m => m.MessageType == MessageType.Bar));
tempList.AddRange(messageList.Where(m => m.MessageType == MessageType.Foo));
tempList.AddRange(messageList.Where(m => m.MessageType == MessageType.Doo));
messageList = tempList;
Как я могу сделать это с помощью IComparer?