📅  最后修改于: 2023-12-03 14:59:40.350000             🧑  作者: Mango
在C#编程中,排序是一个经常需要完成的任务。List
本文将向您介绍如何使用C#中的 List
C#中 List
List<string> list = new List<string>() { "apple", "orange", "banana", "pear" };
list.Sort();
在此示例中,List
但是,如果列表中的元素不是字符串类型,则需要实现 IComparer
如果您要对列表中的对象进行排序,则需要实现 IComparable
IComparable
public class Person : IComparable<Person>
{
public string Name { get; set; }
public int Age { get; set; }
public int CompareTo(Person other)
{
return Name.CompareTo(other.Name);
}
}
在此示例中,Person 类实现了 IComparable
您可以使用以下代码对 Person 对象列表进行排序:
List<Person> list = new List<Person>() { new Person { Name = "Alice", Age = 20 },
new Person { Name = "Bob", Age = 30 },
new Person { Name = "Charlie", Age = 25 } };
list.Sort();
在此示例中,Person 对象列表按 Name 属性的字母表顺序排序后,元素的顺序为:Alice, Bob, Charlie。
如果您需要在不改变对象定义的情况下对对象进行排序,则应使其实现 IComparer
例如,如果您想对列表中的 Person 对象按 Age 属性进行排序,则可以这样实现:
public class PersonAgeComparer : IComparer<Person>
{
public int Compare(Person x, Person y)
{
return x.Age.CompareTo(y.Age);
}
}
在此示例中,PersonAgeComparer 类实现了 IComparer
您可以使用以下代码对 Person 对象列表进行排序:
List<Person> list = new List<Person>() { new Person { Name = "Alice", Age = 20 },
new Person { Name = "Bob", Age = 30 },
new Person { Name = "Charlie", Age = 25 } };
list.Sort(new PersonAgeComparer());
在此示例中,Person 对象列表按 Age 属性的大小排序后,元素的顺序为:Alice, Charlie, Bob。
C#中的 List
实现 IComparable
以上是关于C# List Object Sort 按字母顺序的介绍,希望能够帮助您在C#编程中进行列表排序。