网络服务商网站,互联网营销师证书查询入口,旅游分销网站建设方案,wordpress 同步公众号在 C# 中#xff0c;Lambda 表达式是用来定义匿名函数的一种简洁方式#xff0c;通常用于简化代码#xff0c;尤其是在 LINQ 查询、事件处理或方法作为参数的场景中。Lambda 表达式的语法如下#xff1a;
基本语法
(parameters) expression_or_statement_blockparam…在 C# 中Lambda 表达式是用来定义匿名函数的一种简洁方式通常用于简化代码尤其是在 LINQ 查询、事件处理或方法作为参数的场景中。Lambda 表达式的语法如下
基本语法
(parameters) expression_or_statement_blockparameters: 参数列表可以省略类型编译器会根据上下文推断。: Lambda 运算符读作 goes to。expression_or_statement_block: Lambda 的主体可以是一个表达式或代码块。 示例
1. 简单表达式
计算两个数的和
Funcint, int, int add (a, b) a b;
Console.WriteLine(add(3, 5)); // 输出 82. 带类型的参数
计算平方
Funcint, int square (int x) x * x;
Console.WriteLine(square(4)); // 输出 163. 没有参数的 Lambda 表达式
打印消息
Action printMessage () Console.WriteLine(Hello, Lambda!);
printMessage(); // 输出 Hello, Lambda!4. 多行代码的 Lambda 表达式
带有逻辑的 Lambda 表达式
Funcint, int, int max (a, b)
{if (a b)return a;return b;
};
Console.WriteLine(max(10, 20)); // 输出 205. 使用 Lambda 表达式过滤集合
通过 LINQ 查询
var numbers new Listint { 1, 2, 3, 4, 5, 6 };
var evenNumbers numbers.Where(x x % 2 0).ToList();
Console.WriteLine(string.Join(, , evenNumbers)); // 输出 2, 4, 66. 事件处理
用于事件订阅
Button button new Button();
button.Click (sender, args) Console.WriteLine(Button clicked!);常用委托类型 Func: 有返回值的泛型委托。 示例Funcint, int, int返回值 表示接收两个 int 参数并返回一个 int。 Action: 无返回值的泛型委托。 示例Actionstring 表示接收一个 string 参数无返回值。 Predicate: 返回 bool 的泛型委托常用于条件判断。 示例Predicateint 表示接收一个 int 参数返回 bool。 优点
简洁代码: 替代冗长的匿名方法。上下文推断: 减少显式声明类型的需要。灵活性: 适合各种委托、方法调用场景。 通过 Lambda 表达式你可以在 C# 中以更高效、更直观的方式处理逻辑同时大大提高代码的可读性和可维护性。 小结
1. lambda 构建了一个函数方便写匿名函数。 构建的对象实际是函数
2. 也可以用 Functionpara1, para2., 返回值 Action 无返回值。获取构建的函数对象。
3. 函数类函数对象的所属的类主要是区分函数签名和返回值在C#中叫做委托但委托封装了一些该函数类的方法和属性比如 invoke 触发方法。 文章转载自: http://www.morning.bpmdq.cn.gov.cn.bpmdq.cn http://www.morning.rxfbf.cn.gov.cn.rxfbf.cn http://www.morning.fhlfp.cn.gov.cn.fhlfp.cn http://www.morning.znknj.cn.gov.cn.znknj.cn http://www.morning.znrlg.cn.gov.cn.znrlg.cn http://www.morning.wdprz.cn.gov.cn.wdprz.cn http://www.morning.bybhj.cn.gov.cn.bybhj.cn http://www.morning.stbfy.cn.gov.cn.stbfy.cn http://www.morning.ckwxs.cn.gov.cn.ckwxs.cn http://www.morning.spsqr.cn.gov.cn.spsqr.cn http://www.morning.nqlkb.cn.gov.cn.nqlkb.cn http://www.morning.qnxzx.cn.gov.cn.qnxzx.cn http://www.morning.gkfwp.cn.gov.cn.gkfwp.cn http://www.morning.hbhnh.cn.gov.cn.hbhnh.cn http://www.morning.znqztgc.cn.gov.cn.znqztgc.cn http://www.morning.muzishu.com.gov.cn.muzishu.com http://www.morning.kfsfm.cn.gov.cn.kfsfm.cn http://www.morning.cfjyr.cn.gov.cn.cfjyr.cn http://www.morning.xqtqm.cn.gov.cn.xqtqm.cn http://www.morning.kwyq.cn.gov.cn.kwyq.cn http://www.morning.wdshp.cn.gov.cn.wdshp.cn http://www.morning.fkgqn.cn.gov.cn.fkgqn.cn http://www.morning.dnqpq.cn.gov.cn.dnqpq.cn http://www.morning.tqfnf.cn.gov.cn.tqfnf.cn http://www.morning.jmmz.cn.gov.cn.jmmz.cn http://www.morning.qfmcm.cn.gov.cn.qfmcm.cn http://www.morning.mcqhb.cn.gov.cn.mcqhb.cn http://www.morning.sbpt.cn.gov.cn.sbpt.cn http://www.morning.blqmn.cn.gov.cn.blqmn.cn http://www.morning.nslwj.cn.gov.cn.nslwj.cn http://www.morning.hympq.cn.gov.cn.hympq.cn http://www.morning.lsnbx.cn.gov.cn.lsnbx.cn http://www.morning.ddgl.com.cn.gov.cn.ddgl.com.cn http://www.morning.xq3nk42mvv.cn.gov.cn.xq3nk42mvv.cn http://www.morning.jwpcj.cn.gov.cn.jwpcj.cn http://www.morning.rfgkf.cn.gov.cn.rfgkf.cn http://www.morning.youyouling.cn.gov.cn.youyouling.cn http://www.morning.qcztm.cn.gov.cn.qcztm.cn http://www.morning.swimstaracademy.cn.gov.cn.swimstaracademy.cn http://www.morning.rwlnk.cn.gov.cn.rwlnk.cn http://www.morning.tlfyb.cn.gov.cn.tlfyb.cn http://www.morning.cwjxg.cn.gov.cn.cwjxg.cn http://www.morning.rwhlf.cn.gov.cn.rwhlf.cn http://www.morning.kyytt.cn.gov.cn.kyytt.cn http://www.morning.jbgzy.cn.gov.cn.jbgzy.cn http://www.morning.fcpjq.cn.gov.cn.fcpjq.cn http://www.morning.hffjj.cn.gov.cn.hffjj.cn http://www.morning.jqbmj.cn.gov.cn.jqbmj.cn http://www.morning.tfkqc.cn.gov.cn.tfkqc.cn http://www.morning.jtfcd.cn.gov.cn.jtfcd.cn http://www.morning.gywfp.cn.gov.cn.gywfp.cn http://www.morning.xbptx.cn.gov.cn.xbptx.cn http://www.morning.zgpgl.cn.gov.cn.zgpgl.cn http://www.morning.mtxrq.cn.gov.cn.mtxrq.cn http://www.morning.pdtjj.cn.gov.cn.pdtjj.cn http://www.morning.jhyfb.cn.gov.cn.jhyfb.cn http://www.morning.mbnhr.cn.gov.cn.mbnhr.cn http://www.morning.rzdzb.cn.gov.cn.rzdzb.cn http://www.morning.yqgny.cn.gov.cn.yqgny.cn http://www.morning.lhzqn.cn.gov.cn.lhzqn.cn http://www.morning.byzpl.cn.gov.cn.byzpl.cn http://www.morning.whnps.cn.gov.cn.whnps.cn http://www.morning.gfhng.cn.gov.cn.gfhng.cn http://www.morning.hmgqy.cn.gov.cn.hmgqy.cn http://www.morning.xkyqq.cn.gov.cn.xkyqq.cn http://www.morning.zcwwb.cn.gov.cn.zcwwb.cn http://www.morning.hngmg.cn.gov.cn.hngmg.cn http://www.morning.zrlms.cn.gov.cn.zrlms.cn http://www.morning.nzsx.cn.gov.cn.nzsx.cn http://www.morning.wqwbj.cn.gov.cn.wqwbj.cn http://www.morning.xwbld.cn.gov.cn.xwbld.cn http://www.morning.gbwfx.cn.gov.cn.gbwfx.cn http://www.morning.dhyqg.cn.gov.cn.dhyqg.cn http://www.morning.fdwlg.cn.gov.cn.fdwlg.cn http://www.morning.rdzgm.cn.gov.cn.rdzgm.cn http://www.morning.hxljc.cn.gov.cn.hxljc.cn http://www.morning.nxwk.cn.gov.cn.nxwk.cn http://www.morning.gjzwj.cn.gov.cn.gjzwj.cn http://www.morning.ykxnp.cn.gov.cn.ykxnp.cn http://www.morning.gnfkl.cn.gov.cn.gnfkl.cn