У меня есть коллекция предметов, и у каждого из них есть свойство int TypeId
. Мне нужно переупорядочить элементы в этой коллекции (или получить новые), где элементы заказываются, поэтому сначала все элементы с TypeId = 3
, затем с TypeId = 1
, а затем TypeId = 2
.
Мое решение:
var result = new List<A>();
result.AddRange(source.Where(i => i.TypeId == 3));
result.AddRange(source.Where(i => i.TypeId == 1));
result.AddRange(source.Where(i => i.TypeId == 2));
Интересно, есть ли другое быстрое решение без многократной итерации по коллекции source
(может быть, какой-то трюк с LINQ)?