Как отсортировать этот список в C#?
Привет,
Я пытаюсь отсортировать список в C#, используя следующий код:
bodylist = bodylist.OrderBy(a => a.Movable).ThenBy(a => a.Name);
Список, который я пытаюсь отсортировать - объявленный в том же классе - выглядит следующим образом:
static private List<Body> bodylist = new List<Body>(); static public IReadOnlyList<Body> Bodylist { //the following code prohibits other code to make changes via Add or similar, //but basically it's a normal property without a setter. get { return new ReadOnlyCollection<Body>(bodylist); } }
Объект Body найден (отображаются его свойства Movable и имя).
Однако единственный способ заставить код выполняться - это удалить блист слева от знака равенства. И если я это сделаю, список не будет отсортирован.
Сообщение об ошибке, которое я получаю с приведенным выше кодом, выглядит следующим образом:
"Невозможно неявно преобразовать тип' System. Linq.IOrderedEnumerable<xenia2d_wpf.body & gt;' to 'System.Коллекции.Generic.List<xenia2d_wpf.body>'. Существует явное преобразование (вы пропускаете приведение?)"
Моя цель состояла в том, чтобы отсортировать список сначала по логическому (подвижному), а затем по имени.
Я уверен, что есть какая-то простая синтаксическая ошибка, но я не знаю, что это такое, поэтому я был бы признателен за некоторую помощь. :)
Спасибо!
Петтер
Что я уже пробовал:
Я искал подобные примеры, но нашел только примеры, возвращающие списки, поэтому они на самом деле не соответствуют тому, что я пытаюсь сделать.