如何按整数属性对类列表排序
本文关键字:列表 排序 属性 何按 整数 | 更新日期: 2023-09-27 18:09:33
下面我创建了一个包含4个Person类型元素的列表。我想根据Age属性将Person列表按升序排序。是否有一种优雅的方法可以用LINQ或IComparable(或其他什么)来完成这个任务,这样我就不必从头开始编写自己的算法了?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
List<Person> people = new List<Person>();
people.Add(new Person("Matthew", 27));
people.Add(new Person("Mark", 19));
people.Add(new Person("Luke", 30));
people.Add(new Person("John", 20));
// How to sort list by age?
}
private class Person
{
string Name { get; set; }
int Age { get; set; }
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
}
}
people.Sort((p1, p2) =>
{
return p1.Age - p2.Age;
});
试试这个:
List<Person> SortedList = people.OrderBy(o => o.Age).ToList();