lambda 表达式 闭包写法

lambda 表达式

1.用于 匿名委托函数表达

2.用于linq 查询表达

匿名方法表达

(参数)=》{ 逻辑}

比如 (x,y)=>{return x+y;}

如果一个参数可不带(),如果逻辑简单可以不{}

比如 x=>x++

如果没有参数可以_来代替

比如=>{}

但是如果需要参数 但是 逻辑又没用 比较特殊 可以使用_

_=>{}

linq 表达 比 linq表达式要更简便

list.where(t=>t.name='')

闭包

就是lambda表达式 引用了方法体外变量 调用的时候并不知道 可以延长变量生命周期

javascript 复制代码
private static void Main()
        {
            // 闭包解释
            int y= 10;
            Func<int,int> action = (x) =>
            {
                return x+ y;
            };
            Console.WriteLine(action(1));
        }
相关推荐
吴可可12314 分钟前
C#元组解构实现变量交换
c#
慧都小妮子3 小时前
SciChart WPF v9.0 更新详解:矢量场图表、堆叠箱线图与 MVVM 轴同步来了
c#·.net·wpf·数据可视化·图表控件·图表
鱼听禅8 小时前
C#学习笔记-Entity Framework Core基础操作学习
c#·orm·ef core
Z5998178419 小时前
c#软件开发学习笔记--分组、游标与临时表、分页
笔记·学习·c#
rick9779 小时前
用 C# 从零搭建本地知识库:RAG 系统完整实战
c#
Z59981784110 小时前
c#软件开发学习笔记--事务、索引
笔记·学习·c#
geovindu10 小时前
CSharp: Composite Pattern
开发语言·后端·c#·组合模式·结构型模式
LeoTao10 小时前
C#专题-C# 异常处理
c#
影寂ldy11 小时前
C# 多线程进阶知识点(线程优先级、多委托传参、线程锁、死锁)
开发语言·数据库·c#