当前位置: 首页 > news >正文

c#软件开发学习笔记--lambda表达式、数组排序

c#软件开发学习笔记一、lambda表达式lambda表达式本质是一个函数作为另外一个函数参数进行使用也可以称为是匿名函数(箭头函数)表达式语法:(参数类型 a,参数类型 b,...){}单独写lambda表达式会报错要么写在高阶函数里面 要么找一个变量接收,lambda表达式如果找一个变量接收的话这个变量是类型使用这三种类型接收1 Func 接收有返回值的函数参数 0~16 个2 Predicate 接收有返回值为bool类型的函数参数1个3 Action 接收无返回值的函数参数 0~16 个1.Func//Funcint,int,int 参数类型 最后一个类型是返回值的类型//F4 函数名//(int a, int b) 参数类别 多个参数时候必须加()//{函数体}Funcint,int,intF4(inta,intb){returnab;};//lambda可以像普通函数去调用Console.WriteLine(F4(10,20));//简化写法Funcint,intF6aa;//把lambda表达式应用在高级函数中Console.WriteLine(Array.Find(ages,vv%2!0));//找奇数的第一个匹配到的元素2.Predicate//使用Predicate关键字接收返回值为bool类型的lambda表达式Predicateintf3aa%20;Console.WriteLine(f3(3));//false3.Action//使用Action关键字接收无返回值的lambda表达式//定义一个字符串参数 无返回值的lambda表达式// 如果一个参数可以把()不写// 如果函数体只有一句可以把{}省掉Actionstringf2(a)Console.WriteLine(a);f2(hell world);二、数组排序1.冒泡排序冒泡排序Bubble Sort 一个简单且常用的排序算法。因最大或最小的元素会经过交换慢慢出现在数列顶端好似元素冒出来一样得名“冒泡排序”。原理比较相邻元素从列表的第一个元素开始比较相邻的两个元素交换位置如果前一个元素比后一个元素大升序排序时就交换它们的位置重复遍历对每一对相邻元素做同样的工作从开始第一对到结尾的最后一对最大元素沉底每次完整遍历后最大的元素会冒泡到列表的末尾缩小范围忽略已经排序好的末尾部分重复上述过程完成排序当没有元素需要交换时排序完成publicstaticvoidBubbleSort(int[]ints){boolisSwap;for(inti0;iints.Length;i){isSwapfalse;for(intj0;jints.Length-1-i;j){if(ints[j]ints[j1]){(ints[j],ints[j1])(ints[j1],ints[j]);isSwaptrue;}}if(!isSwap)return;}}2.选择排序选择排序在要排序的一组数中选出最小或最大的一个数与第一个位置的数交换在剩下的数当中找最小的与第二个位置的数交换即顺序放在已排好序的数列的最后如此循环直到全部数据元素排完为止原理查找最小值在未排序序列中找到最小元素交换位置将该最小元素与未排序序列的第一个元素交换位置缩小范围将排序范围向后移动一位重复上述过程完成排序直到所有元素都排序完毕publicstaticvoidSelectSort(int[]ints){for(inti0;iints.Length-1;i){intminIndexi;for(intji1;jints.Length;j){if(ints[minIndex]ints[j])minIndexj;}if(minIndex!i)(ints[minIndex],ints[i])(ints[i],ints[minIndex]);}}
http://www.gsyq.cn/news/1409939.html

相关文章:

  • 指纹浏览器自动化API对接实战总结:技术方案选型 + 避坑指南
  • 从RAFT光流到立体匹配:手把手复现RAFT-Stereo(Pytorch环境配置+代码详解)
  • ByteDance Research | 原生视频/图像生成理解编辑统一模型Lance发布,3B All-in-One Model助力学术开源生态
  • 数学建模美赛E题救星:手把手教你用CASA和ENVI搞定NPP计算(附2020年东北地区数据)
  • 从编译到出结果:SPEC CPU 2017在CentOS 7上的完整避坑指南(含gcc/g++/gfortran配置)
  • 2026年 宝钢HC900/1180DP吉帕钢厂家推荐榜:高强汽车板/先进高强钢/冷轧双相钢/轻量化选材解决方案 - 品牌企业推荐师(官方)
  • 告别3D卷积!RAFT-Stereo如何用GRU迭代优化在Middlebury拿下第一?
  • 人工智能-现代方法(四)
  • 别再只盯着RGB了!搞懂CIE 1931 XYZ和Yxy,你的图像处理才算入门
  • CTF新手必看:用Python脚本暴力破解PNG图片的CRC校验,修复被篡改的宽高信息
  • 数据仓库实战:当Hive表插错数据后,我是如何用‘重写’而不是‘删除’来救场的
  • AI 助手类应用通用安全漏洞:间接提示注入可窃取企业敏感数据
  • STM32F1用HAL库驱动42步进电机:CubeMX配置PWM定时器(TIM3)保姆级教程
  • 别再乱试了!用Wireshark精准定位微信/QQ通话IP的保姆级教程(附过滤语法)
  • 避坑指南:Unity 2020搞VR,Shader报错和中文路径这两个‘坑’你踩了吗?
  • 别再纠结选Lasso还是岭回归了!用R语言glmnet包实战弹性网,一次搞定变量筛选与共线性
  • LangChain 是 LLM 应用开发 / 编排框架,MCP 是 “模型 ↔ 外部工具 / 数据” 的标准化通信协议;LangChain 用官方适配器把 MCP 当作统一 “工具总线” 来集成
  • Cortex-M3验证失败问题解析与解决方案
  • 重新定义复制粘贴:macOS剪贴板历史管理的实用方案
  • 用Python和SVD矩阵分解,从零搭建一个能跑的音乐推荐系统(附完整数据集和源码)
  • ChromaControl:如何用统一控制平台终结RGB设备管理混乱?
  • 开发者速围观!Android 17 适配关键全解读丨OTalk 直播回顾
  • S32K3xx低功耗实战:用LPUART串口唤醒Standby模式,保姆级配置流程(基于Platform SDK 2022.03)
  • STM32L0 LPUART串口卡死?别慌,HAL库ORE溢出错误的保姆级排查与修复指南
  • 3DSlicer数据探针(Data Probe)详解:像侦探一样读懂CT/MRI切片上的每一个数字
  • 网卡公司排行榜主流指标深度对比:全面解读与概念解析
  • UniApp混合开发实战:当原生插件需要调用第三方SDK时,我的踩坑与填坑记录
  • 不只是安装:给你的Win10虚拟机装上macOS后,这5个必做优化让体验更丝滑
  • 如何用3天搭建你的专属缠论量化分析系统:TradingView本地化实战指南
  • 把恩师装进微信,Hermes Agent 零基础复刻亲人陪伴教程