C# LINQ
//首先说一下匿名方法:,无名字,
//无参数匿名函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | static void Main( string [] args){ Action f1= delegate (){ console.WriteLine( "我是AAA" ); }; //给委托赋值一个匿名方法 f1(); //执行委托 } //有参数匿名函数 static void Main( string [] args){ Action<stirng, int > f2= delegate ( string n, int i) { console.WriteLine($ "n={n},i={i}" ); }; f2( "yzk" ,18); } //转换为Lambda表达式,只是将匿名方法的delegate去掉了,然后加上一个=>Func<int,int,int> f4=(int i,int j)=>{return i+j;}Console.WriteLine(f4(5,8))//也可以省略参数类型,此方法只针对lambda表达式生效。Func<int,int,int> f5=(i,j)=>{return i+j;}using System.Linq using System.Collections.Generic //取出大于10的数字 static void Main( string [] args){ int [] nums= new int []{3,4,5,7865,2,34,223}; IEnumerable< int > result=nums.Where(a=>a>10); } |
//基础:会委托、Lamad表达式
//使数据处理变得简单化
//统计一个字符串中每个字母出现的频率(忽略大小写),然后按照从高到低的顺序输出出现频率高于2次的单词和出现的频率
var items=s.where(c=>char.lsLetter(c))//过滤非字母
.select(c=>char.ToLower(c))//大写字母转换Wie小写
.GroupBy(c=>c)//根据字母进行分组
.Where(g=>g.Count()>2)//过滤掉出现次数<=2
.OrderByDescending(g=>g.count())//按次数排序
.Select(g=>new ({char=g.key,count=g.count()})
//使用自定义的扩展方法实现LINQ中的扩展方法
static IEnumerable<int> MyWhere2(IEnumerable<int> items,Func<int,bool> f)
{
foreach(int i in items){
if(f(i)==true){
yield return i;//yield return 不是返回了就退出了,而是会循环返回,直到无数据可以遍历了。
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)