C#怎么使用Lambda表达式 C# Lambda表达式语法教程

admin 百科 10
Lambda表达式是C#中创建匿名函数的语法糖,用于委托、事件、LINQ等场景,基本形式为“参数 => 表达式或语句块”,编译器依上下文推断为Func或Action等委托类型。

C#怎么使用Lambda表达式 C# Lambda表达式语法教程-第1张图片-佛山资讯网

在C#中,Lambda表达式是一种简洁写法,用来创建匿名函数(即没有名字的函数),常用于委托、事件、LINQ查询和集合操作。它不是独立语法,而是编译器支持的“语法糖”,最终会被转换为委托实例或表达式树。

基本语法结构

Lambda表达式的通用形式是:参数 => 表达式或语句块。左边是参数列表,右边是函数体。

  • 无参数:() => Console.WriteLine("Hello")
  • 单个参数:x => x * 2(括号可省略)
  • 多个参数:(a, b) => a + b(括号不可省)
  • 带语句块:(x, y) => { return x > y ? x : y; }(必须用大括号和return)

常见使用场景

Lambda最常用在需要传入一个简单逻辑的地方,比如List.Find、Where、OrderBy等方法。

  • 过滤数据:numbers.Where(n => n % 2 == 0)
  • 查找对象:users.FirstOrDefault(u => u.Age >= 18 && u.Name.StartsWith("A"))
  • 排序:products.OrderBy(p => p.Price).ThenBy(p => p.Name)
  • 作为事件处理:button.Click += (s, e) => MessageBox.Show("Clicked!");

与委托类型的关系

Lambda表达式本身没有类型,但编译器会根据上下文推断出对应委托类型,如FuncAction

标签: c# 作用域

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~