C#中的List<T>类T为自己定义类什么使用Sort()方法
时间: 2024-04-09 20:27:43 浏览: 109
c# List<T>类排序方法
5星 · 资源好评率100%
当使用自定义类作为List<T>中的T时,需要确保该类实现了比较接口(IComparable<T>或IComparable)中的CompareTo方法,以便Sort()方法能够进行排序。
下面是一个示例,假设我们有一个自定义的Person类,其中包含Name和Age属性,我们希望按照年龄进行排序:
```csharp
class Person : IComparable<Person>
{
public string Name { get; set; }
public int Age { get; set; }
public int CompareTo(Person other)
{
// 按照年龄进行升序排序
return Age.CompareTo(other.Age);
}
}
List<Person> people = new List<Person>()
{
new Person() {Name = "John", Age = 25},
new Person() {Name = "Alice", Age = 30},
new Person() {Name = "Bob", Age = 20}
};
people.Sort();
foreach (Person person in people)
{
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}
```
在上述示例中,我们创建了一个Person类,并实现了IComparable<Person>接口中的CompareTo方法,按照年龄进行比较。然后,我们创建了一个Person类型的列表people,并使用Sort()方法对其进行排序。最后,使用foreach循环遍历列表并打印排序后的结果。
请注意,当自定义类作为List<T>中的T时,需要根据实际需求实现适当的比较逻辑。比如,可以根据多个属性进行排序,或者实现自定义的比较规则。
阅读全文