List.Sort() 小小技巧--- 从大到小排列
List.sort() 默认的情况下是从小到大的排列。
例如:
List<int> list = new List<int>();
list.Add(-2);
list.Add(10);
list.Add(8);
list.Add(6);
list.Add(4);
list.Sort();
list.Add(-2);
list.Add(10);
list.Add(8);
list.Add(6);
list.Add(4);
list.Sort();
这时候的输出结果是 -2,4,6,8,10;
如果,要将list中的数据从大到小怎么排列呢?这将怎么实现呢。请看下面代码:
1 list.Sort(
2 delegate(int a, int b)
3 {
4 return a.CompareTo(b);
5 }
6 );
7
8
9 list.Sort((a, b) =>b.CompareTo(a)); //lamda expression
2 delegate(int a, int b)
3 {
4 return a.CompareTo(b);
5 }
6 );
7
8
9 list.Sort((a, b) =>b.CompareTo(a)); //lamda expression
在代理中1--6行代码中,是从小到大排列的,第9行 只要将后面的参数与前面的参数进行对比,这样返回的结果,将是一个从大到小排列了。这种方式适合于字符串等许多类型的排序。
和大家分享一下 :)