Помогите найти метод для сортировки листа
Подскажите пожалуйста как отсортировать лист.
Здесь у меня пример как у меня отсортирован лист по имени
list.Sort(new Comparison<Third>(MyDelegatName));
foreach (var v in list)
Console.WriteLine(v.firstName);
static int MyDelegatName(Third st1, Third st2)
return String.Compare(st1.firstName, st2.firstName);
А я вот хочу отсортировать по числам. Так не выходит, не ругается, просто выводит без сортировки
list.Sort(new Comparison<Third>(MyDelegatAge));
foreach (var v in list)
Console.WriteLine(v.age);
static int MyDelegatAge(Third st1, Third st2)
if (st1.age > st2.age)
return 0;
else
return 1;
Ответы (1 шт):
Автор решения: Sergey Savelyev
→ Ссылка
Попробуйте так:
list.Sort((x, y) =>
{
if (x.age < y.age)
return 1;
if (x.age > y.age)
return -1;
return 0;
});
@AlexanerPetrov предложил более лаконичный вариант на основе стандартной реализации компаратора:
list.Sort((x, y) => y.age.CompareTo(x.age));