C#中的sort()方法与匿名函数 (a,b) => {}

C#中的sort()方法与匿名函数 (a,b) => {}

sort()方法与lambda 表达式实现列表排序

   tempList.Sort(delegate (PaymentData dataA, PaymentData dataB)
        {
            return dataA.Order.CompareTo(dataB.Order);
        });

下面是JS的:

1.箭头函数
在使用sort()方法时,发现了更简洁的写法
this.tableData.sort((a, b) => b - a);
这是一段降序排序,里面的 (a, b) => b - a就是箭头函数,他相当于
function f(a, b) { return b - a; }

“=>” 是函数表达式,在其左边的"(a, b)"是参数(入参),右边的"b - a"是函数体,若函数体有多条语句就使用{}包裹
箭头函数是匿名函数
2.sort()方法
sort() 方法用于对数组的元素进行排序,并返回数组。默认排序顺序是升序排序
语法:arrayObject.sort(sortby);
参数:sortby 可选,用来规定排序的顺序,但必须是函数。
sort()返回值:对数组的引用。请注意,数组在原数组上进行排序,不生成副本

对于参数sortby,一般是写比较函数作为参数,如比较函数function f(a,b){…},只需要谨记返回值为正数则位置交换,否则不交换
例:我们要写一个降序排序function f(a,b){…},要如何实现?
先假设a>b,则最后输出的肯定是位置不变的[a,b],那么只需要让函数体里面的返回值不为正数即可,则结果是:function f(a, b) { return b - a; }
将函数作为参数放在sort()中,arr.sort( f );

arr.sort( (a,b) =>

{
  return b-a;
});