List<int> list =newList<int>(){7,6,5,1,9,2};Console.Write("原始list:[");for(int i =0; i <list.Count; i++){Console.Write(list[i]+",");// 原始list:[7,6,5,1,9,2,]}Console.WriteLine("]\n************************");// list提供的排序方法list.Sort();Console.Write("list排序:[");for(int i =0; i <list.Count; i++){Console.Write(list[i]+",");// list排序:[1,2,5,6,7,9,]}Console.WriteLine("]\n************************");
2、自定义类排序
继承 IComparable 接口实现 CompareTo 比较方法
< 0 比入参小
0 相等
> 0 比入参大
// 一个普普通通的普通类classItem:IComparable<Item>{publicintMoney;publicItem(int money){Money= money;}// < 0 比入参小, = 0 相等,> 0 比入参大publicintCompareTo(Item other){returnMoney-other.Money;}public override string ToString(){returnMoney.ToString();}}// 某方法内↓↓↓List<Item> list =newList<Item>(){newItem(7),newItem(6),newItem(5),newItem(1),newItem(9),newItem(2)};list.Sort();Console.Write("自定义类list排序:[");for(int i =0; i <list.Count; i++){Console.Write(list[i]+",");// 自定义类list排序:[1,2,5,6,7,9,]}Console.WriteLine("]\n************************");
3、通过委托函数排序
sort 四重载
Sort()
Sort(IComparer<T> comparer)
Sort(int index, int count, IComparer<T> comparer)
Sort(Comparison<T> comparison)
// 一个普普通通的普通类classMyItem{publicintId;publicMyItem(int id){Id= id;}public override string ToString(){returnId.ToString();}}// 一个普通的比较函数publicintMyItemSort(MyItem m1,MyItem m2){returnm1.Id-m2.Id;}// 某方法内↓↓↓List<MyItem> list =newList<MyItem>(){newMyItem(7),newMyItem(6),newMyItem(5),newMyItem(1),newMyItem(9),newMyItem(2)};list.Sort(MyItemSort);Console.Write("list排序:[");for(int i =0; i <list.Count; i++){Console.Write(list[i]+",");// list排序:[1,2,5,6,7,9,]}Console.WriteLine("]\n************************");