Итак, я выполняю задание для своего класса C#, и у меня есть список объектов. Эти объекты имеют поле «int rand», которому присваивается случайное число. Затем я хотел повторно сортировать объекты в списке на основе этого поля rand.Как сортировать список C# на основе свойства?
Я нашел эту статью: http://www.developerfusion.com/code/5513/sorting-and-searching-using-c-lists/
И это помогло. Я изменил эту строку, чтобы соответствовать моему коду:
people.Sort(delegate(Person p1, Person p2) { return p1.age.CompareTo(p2.age); });
И он делает то, что я хочу.
Что я хочу знать: как это работает? Это выглядит очень странно для меня.
Обратите внимание, что это не самый эффективный способ перетасовать порядок элементов в списке. –
Код вызовет ваш метод 'delegate (Person p1, Person p2) {return p1.age.CompareTo (p2.age); } 'на каждую пару элементов, которые он хочет сравнить. – Rob
Возможный дубликат [C# - сортировка по свойству] (http://stackoverflow.com/questions/14147082/c-sharp-sorting-by-a-property) – DocMax