C# list 按 对象 属性 排序
时间: 2023-09-28 16:11:18 浏览: 92
java根据List内对象的属性排序方法
5星 · 资源好评率100%
可以使用 `List<T>` 的 `Sort` 方法结合 `Comparison<T>` 委托来实现按对象属性排序。
假设有一个名为 `Person` 的类,属性为 `Id` 和 `Name`,我们想要按照 `Id` 属性排序,则可以使用以下代码:
```csharp
List<Person> peopleList = new List<Person>();
// 添加元素到列表
peopleList.Add(new Person { Id = 2, Name = "Tom" });
peopleList.Add(new Person { Id = 1, Name = "Jerry" });
peopleList.Add(new Person { Id = 3, Name = "Lucy" });
// 按照 Id 属性排序
peopleList.Sort((p1, p2) => p1.Id.CompareTo(p2.Id));
// 遍历排序后的列表
foreach (Person p in peopleList)
{
Console.WriteLine($"Id: {p.Id}, Name: {p.Name}");
}
```
输出结果为:
```
Id: 1, Name: Jerry
Id: 2, Name: Tom
Id: 3, Name: Lucy
```
如果想要按照 `Name` 属性排序,则只需要将比较函数中的 `p1.Id.CompareTo(p2.Id)` 改为 `p1.Name.CompareTo(p2.Name)` 即可。
阅读全文