C#匿名函数排序交错数组

  • 前言
  • 建立测试数据
  • 排序代码
  • 原理

前言

对于一个交错数组,不能直接调用Array.Sort();方法对数组内的另一个数组排序。因此若遇到只根据内部数组一个元素来对整个交错数组排序可以使用C#的匿名函数。笔者初学,很多语法不了解,若有错误恳请指正。

建立测试数据

int[][] list = new int[][] { new int[] { 1, 2 }, new int[] { 2, 3 }, new int[] { 5, 6 }, new int[] { 1, 11 } };

排序代码

Array.Sort(list, (x, y) =>  y[0].CompareTo(x[0]));

原理

C#中的匿名函数不需要声明,按照(par1,par2)=>par1[0].CompareTo(par2[0])即可声明一个匿名函数。其中左侧括号代表输入参数,箭头右侧代表函数体。这里的含义是,比较两个输入数组的第一个元素。如上所示会得到一个升序排列的数组,若在函数体中颠倒x,y则可以得到降序排列的数组。

C#匿名函数排序交错数组相关推荐

  1. Python匿名函数---排序

    一.列表的排序 nums = [1,2,3,5,4,7,87,4,9,56,44,7,5] nums.sort()#默认从小到大排序 nums#结果为:[1, 2, 3, 4, 4, 5, 5, 7, ...

  2. qsort函数排序数据 and 模拟实现qosrt函数的功能(详解)

    前言:内容包括使用库函数qsort排序任意类型的数据,模拟实现qsort函数(冒泡排序的逻辑) 我们先了解qsort函数的语法:qsort函数默认按照升序排序数据 void qsort (void* ...

  3. 指针||指针和数组||指针和函数||指针、数组、函数 案例描述:封装一个函数,利用冒泡排序,实现对整型数组的升序排序

    指针 指针的基本概念 指针的作用: 可以通过指针间接访问内存 内存编号是从0开始记录的,一般用十六进制数字表示 可以利用指针变量保存地址 指针变量的定义和使用 指针变量定义语法: 数据类型 * 变量名 ...

  4. 前端:JS/22/函数(函数的概念,函数的定义格式,函数定义格式的说明,函数的调用,函数的参数),全局变量和局部变量,拷贝传值和引用传址,匿名函数,二维数组,对象,自定义对象的创建

    函数 1,函数的概念 函数,是将一段公共的代码进行封装,给它起个名字叫"函数" 函数可以一次定义,多次调用:函数可以将常用的功能代码,进行封装,如:用户名的验证,验证码函数,邮箱验 ...

  5. Python3匿名函数字典排序、生成式与生成器、装饰器简介

    1. 参数匿名函数字典排序 函数的参数: 参数类型: 我们经常在看别人的代码中,经常出现def(*args,**kwargs)这样的表现形式; *args tuple(1,) **kwargs dic ...

  6. day14,匿名函数,排序,筛选,映射,递归,二分法

    一:匿名函数. 匿名函数语法: 函数名= lambda  形参:返回值 (1)例 : a=lambda n:n**nr=a(3)print(r) 结果为:27 (2)例:写一个lambda 给函数传递 ...

  7. javaScript中使用sort方法给数组和数组对象进行排序( 比值函数排序)

    //定义一个地址数组 var arr=['orange','apple','banana','litchi']; console.log(arr.sort()); 如果不给sort方法传递参数的话,输 ...

  8. javascript数组之数组排序:数组按照字符顺序排序,反转数组,数字排序,比值函数,随机排序,查找最大最小数组值,自制找数组最高最低值办法,排序对象数组

    1.数组排序 sort() sort() 方法以字母顺序对数组进行排序 var fruits = ["Banana", "Orange", "Appl ...

  9. 列表排序方法sort()的key参数取值,以及lambda匿名函数

    1.sort()方法的key参数 li = [[1, 7], [1, 5], [2, 4], [1, 1]] li.sort() print(li) #[[1, 1], [1, 5], [1, 7], ...

最新文章

  1. webrtc android ndk,webrtc 针对 android 平台的编译和运行
  2. 使用字符串定界符(标准C ++)在C ++中解析(拆分)字符串
  3. Vue.js 组件注册
  4. iphone屏蔽系统更新_苹果iphone手机屏蔽烦人的系统更新弹窗提醒!
  5. Hadoop 同步集群时间ntp
  6. 推荐一个快速反射调用的类
  7. C#异步通信概念及应用浅析 .
  8. mysql两台服务器怎么做数据同步_让两台服务器的MySQL数据同步(互为主从关系)...
  9. 关于mysql出现大量locked进程
  10. Xcode 指定测试设备打包IPA
  11. 这台相机没镜头!美国教授新发明,一块玻璃可成像,拍照给计算机看
  12. linux纯没网安装mysql_实用性Linux安装mysql
  13. 视频压缩工具及使用方法
  14. 从零开始学java系列第一季第一期:简单的了解java并安装jdk以及环境配置
  15. Python: 进行one-hot编码
  16. 阿里云ECS上CentOS关闭阿里云盾
  17. 用python在excel中做批量计算(包括单元格为空值时的处理情况)
  18. java freemarker 图片_java通过freemarker导出包含富文本图片的word文档
  19. Tui-editor富文本编辑器的使用
  20. 搭建阿里云物联网平台实现MQTT通信

热门文章

  1. windows10升级windows11之体验
  2. android 手机分辨率与DPI对照表
  3. 通用爬虫实现的原理及过程
  4. 多种方法o.jsonwebtoken.ExpiredJwtException: JWT expired at xxx. Current time: xxx的错误
  5. Rust学习:5_所有权与借用
  6. Mesos Configuration
  7. HttpMediaTypeNotSupportedException: Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ n
  8. 网易云音乐API部署Vercel获取接口过程
  9. 过期牛奶过期后怎样处理?
  10. 【转载】撒旦(Satan 4.2)勒索病毒最新变种加解密分析