在C#中对List进行排序可以使用List类的Sort方法或者使用LINQ进行排序。
List<int> numbers = new List<int> { 3, 1, 4, 1, 5, 9, 2, 6, 5 };
numbers.Sort(); // 默认按照升序排序
如果要按照自定义的排序规则进行排序,可以使用比较器。比较器是一个实现了IComparer<T>接口的类,其中的Compare方法定义了元素之间的比较规则。
class CustomComparer : IComparer<int>
{
public int Compare(int x, int y)
{
// 自定义排序规则,这里以降序排序为例
return y.CompareTo(x);
}
}
List<int> numbers = new List<int> { 3, 1, 4, 1, 5, 9, 2, 6, 5 };
numbers.Sort(new CustomComparer()); // 使用自定义的比较器进行排序
List<int> numbers = new List<int> { 3, 1, 4, 1, 5, 9, 2, 6, 5 };
var sortedNumbers = numbers.OrderBy(x => x); // 默认按照升序排序
// 或者使用OrderByDescending进行降序排序
var sortedNumbers = numbers.OrderByDescending(x => x);
使用LINQ进行排序时,会返回一个新的IEnumerable<T>序列,原始列表不会被修改。如果需要修改原始列表,可以使用ToList方法将排序结果转换为List。
List<int> numbers = new List<int> { 3, 1, 4, 1, 5, 9, 2, 6, 5 };
List<int> sortedNumbers = numbers.OrderBy(x => x).ToList();
以上是在C#中对List进行排序的两种常见方法。根据具体的需求和场景选择合适的方法进行排序。
领取专属 10元无门槛券
手把手带您无忧上云