C# Lambda 表达式:从基础用法到集合操作实战

Lambda 表达式是 C# 函数式编程的核心,尤其在 Entity Framework (EF) 数据查询、集合操作中是必备技能。本文基于我的学习笔记全面优化,补充无返回值/有返回值完整实例、新手避坑指南,帮你彻底掌握 Lambda 用法。

一、Lambda 核心概念与简化规则

Lambda 是匿名函数的简写形式,核心语法:(参数) => 表达式/语句块,=> 读作“goes to”(输入参数→输出结果)。

先修正新手高频错误(类型匹配)

原始笔记中典型错误:委托类型与参数类型不匹配,编译器直接报错:

// ❌ 错误:Action<string> 要求参数是string,但匿名委托参数是int
Action<string> a1 = delegate(int i) { Console.WriteLine(i); };

// ✅ 正确:Action<int> 匹配 int 类型参数(核心:委托类型 ≡ 参数类型)
Action<int> a1 = delegate(int i) { Console.WriteLine(i); };

image

Lambda 简化过程(以“打印整数”为例)

以下每一步代码均可直接运行,逐步体会“从繁到简”的核心逻辑:

简化阶段代码示例核心简化点
1. 传统匿名委托Action<int> a1 = delegate(int i) { Console.WriteLine(i); };无(最基础写法,无简化)
2. 替换为 LambdaAction<int> a2 = (int i) => { Console.WriteLine(i); };delegate 关键字 → => 符号
3. 省略参数类型Action<int> a3 = (i) => { Console.WriteLine(i); };编译器根据委托类型自动推断参数类型
4. 省略参数括号(单参数)Action<int> a4 = i => { Console.WriteLine(i); };单个参数时,括号可省略(多参数必须保留)
5. 省略大括号(单行语句)Action<int> a5 = i => Console.WriteLine(i);语句体仅一行时,大括号可省略

无返回值 vs 有返回值 Lambda 核心规则

类型委托基类核心规则示例
无返回值Action<T>单行可省 {},无 returni => Console.WriteLine(i)
有返回值Func<T,TResult>单行可省 {} + return,多行必须手动 return(i,j) => i+j(单行)
(i,j) => { var s=i+j; return s; }(多行)

带返回值的 Lambda 简化(关键规则)

如果委托有返回值(如 Func),且方法体只有一行代码且是返回值,可省略 {} 和 return:

// 传统匿名委托(带返回值)
Func<int, int, string> f1 = delegate (int i, int j)
{
    return "结果是" + (i + j);
};

// Lambda 极简写法(省略 {} 和 return)
Func<int, int, string> f2 = (i, j) => "结果是" + (i + j);

// 调用f1(匿名委托)
Console.WriteLine(f1(4,5)); // 输出:f1结果是:8

// 调用f2(Lambda表达式)
Console.WriteLine(f2(3, 5)); // 输出:f2结果是:8

image


二、核心实例:无返回值/有返回值 Lambda 完整演示

1. 无返回值 Lambda(Action 委托)

核心用于“执行操作但不返回结果”(打印、修改数据、遍历),覆盖单参数/多参数/无参数场景:

namespace _03_无返回值_Lambda_Action_委托_
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 1. 单参数无返回值(最简写法)
            Action<int> printNum = num => Console.WriteLine($"数字:{num}");
            printNum(100);

            // 2. 多参数无返回值(拼接信息)
            Action<string, int> printUser = (name, age) => Console.WriteLine($"姓名:{name},年龄:{age}");
            printUser("张三", 25); 

            // 3. 无参数无返回值(固定逻辑)
            Action printHello = () => Console.WriteLine("Hello Lambda!");
            printHello();

            Console.ReadLine();
        }
    }
}

image

2. 有返回值 Lambda(Func 委托)

核心用于“执行逻辑并返回结果”(计算、筛选、转换),覆盖单行/多行场景:

namespace _04_有返回值_Lambda_Func_委托_
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 1. 单行简化(自动返回,省略 return)
            Func<int, int> getSquare = num => num * num;
            Console.WriteLine($"5的平方:{getSquare(5)}");

            // 2. 多行语句(必须手动 return)
            Func<int, string> checkAdult = age =>
            {
                Console.WriteLine($"检查年龄:{age}"); // 中间操作
                return age >= 18 ? "成年" : "未成年";
            };
            Console.WriteLine(checkAdult(20)); 

            Console.ReadLine();
        }
    }
}

image


三、实战练习(带完整代码+运行结果+新手解析)

练习一:Lambda 基础简化(验证简化规则)

目标:逐行验证 Lambda 从匿名委托到极简写法的过程
完整代码:

using System;

class Program
{
    static void Main(string[] args)
    {
        // 1. 传统匿名委托
        Action<int> a1 = delegate(int i) { Console.WriteLine($"版本1:{i}"); };
        a1(10);

        // 2. 基础 Lambda(替换 delegate 为 =>)
        Action<int> a2 = (int i) => { Console.WriteLine($"版本2:{i}"); };
        a2(20);

        // 3. 省略参数类型(编译器自动推断)
        Action<int> a3 = (i) => { Console.WriteLine($"版本3:{i}"); };
        a3(30);

        // 4. 省略括号+大括号(单参数+单行极简)
        Action<int> a4 = i => Console.WriteLine($"版本4:{i}");
        a4(40);

        Console.ReadLine();
    }
}

运行结果:

版本1:10
版本2:20
版本3:30
版本4:40

image
新手解析:每一步简化都不改变逻辑,仅减少冗余语法,编译器会自动补全推断的信息。

练习二:Select 处理整数集合(生成新集合)

目标:用 Select 转换集合元素(核心:“一对一”处理)
完整代码:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        List<int> list1 = new List<int> { 1, 2, 3, 8, 16, 99 };
        
        // Select:对每个元素拼接"你好",生成新的字符串集合
        IEnumerable<string> data = list1.Select(i => i + "你好");
        
        // 遍历输出新集合
        foreach (var item in data)
        {
            Console.WriteLine(item);
        }
        Console.ReadLine();
    }
}

运行结果:

1你好
2你好
3你好
8你好
16你好
99你好

image

新手解析:Select 是“转换器”,原集合 list1 不变,新集合 data 是转换后的结果。

练习三:Where 过滤整数集合(筛选元素)

目标:用 Where 按条件筛选元素(核心:Lambda 返回 bool)
完整代码:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        List<int> list1 = new List<int> { 1, 2, 3, 8, 16, 99 };
        
        // Where:筛选大于10的元素(Lambda 返回 true 则保留)
        IEnumerable<int> data = list1.Where(i => i > 10);
        
        Console.WriteLine("大于10的元素:");
        foreach (var item in data)
        {
            Console.WriteLine(item);
        }
        Console.ReadLine();
    }
}

运行结果:

大于10的元素:
16,99

image

新手解析:Where 的 Lambda 必须返回 bool 类型,true 保留元素,false 过滤掉。

练习四:对象集合求和(Sum 方法)

目标:计算对象集合中指定属性的总和
完整代码:

internal class Program
{
    static void Main(string[] args)
    {
        Person[] p = new Person[]
        {
            new Person { Name="chen", Age=12 },
            new Person { Name="chen2", Age=24 },
            new Person { Name="chen3", Age=12 }
        };

        // Sum:Lambda 指定“要累加的属性(Age)”
        int totalAge = p.Sum(i => i.Age);

        // 类型转换:数组 ↔ 列表(EF中常用)
        List<Person> ps = p.ToList();
        Person[] ps4 = p.ToArray();

        Console.WriteLine("年龄总和:" + totalAge); // 12+24+12=48
        Console.ReadKey();
    }

    class Person
    {
        public string Name { get; set; } // 姓名
        public int Age { get; set; }     // 年龄
    }
}

运行结果:

年龄总和:48

image

新手解析:Sum 的 Lambda 需返回数值类型(int/double),指定“要求和的属性”即可自动累加。

练习五:对象集合综合操作(OrderBy/FirstOrDefault)

目标:组合多个扩展方法处理对象集合(EF 高频场景)
完整代码:

internal class Program
{
    static void Main(string[] args)
    {
        Person[] p = new Person[]
        {
            new Person { Name="chen", Age=12 },
            new Person { Name="chen2", Age=24 },
            new Person { Name="chen3", Age=12 },
            new Person { Name="chen4", Age=30 }
        };

        // 1. 按年龄升序排序(降序用 OrderByDescending)
        var sorted = p.OrderBy(i => i.Age);
        Console.WriteLine("按年龄升序:");
        foreach (var item in sorted)
        {
            Console.WriteLine($"{item.Name} - {item.Age}岁");
        }

        // 2. 获取第一个年龄>20的人(无则返回null,避免异常)
        var firstAdult = p.FirstOrDefault(i => i.Age > 20);
        Console.WriteLine("\n第一个成年人:" + firstAdult?.Name);

        // 3. 获取年龄最大值(对象集合需指定属性)
        var maxAge = p.Max(i => i.Age);
        Console.WriteLine("最大年龄:" + maxAge);

        Console.ReadKey();
    }
    class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
    }
}

运行结果:

按年龄升序:
chen - 12岁
chen3 - 12岁
chen2 - 24岁
chen4 - 30岁

第一个成年人:chen2
最大年龄:30

image

新手解析:多个扩展方法可链式调用(如 p.Where(...).OrderBy(...).FirstOrDefault()),是 EF 查询的核心写法。


四、集合常用扩展方法(Lambda 高频用法·新手速查)

整理 EF/日常开发中最常用的扩展方法,附 Lambda 示例和避坑提示:

方法核心作用Lambda 示例新手避坑提示
Where过滤元素list.Where(i => i > 10)返回 IEnumerable,延迟执行(遍历才生效)
Select转换元素list.Select(i => i * 2)生成新集合,原集合完全不变
Max/Min最大/最小值p.Max(i => i.Age)空集合调用会抛异常,建议先判空
OrderBy/OrderByDescending升序/降序排序p.OrderBy(i => i.Age)多字段排序用 ThenBy
First获取第一个匹配元素list.First(i => i > 5)无匹配元素 → 抛异常(新手慎用)
FirstOrDefault获取第一个匹配元素list.FirstOrDefault(i => i > 5)无匹配 → 返回默认值,推荐使用
Single获取唯一匹配元素list.Single(i => i == 10)0个/多个匹配 → 抛异常
SingleOrDefault获取唯一匹配元素list.SingleOrDefault(i => i == 10)多个匹配 → 抛异常;0个 → 返回默认值
ToList/ToArray类型转换p.ToList() / p.ToArray()立即执行,EF 中需加 ToList() 才会执行查询

五、新手避坑指南(Lambda 高频错误)

  1. 委托类型不匹配:Action<string> 不能接收 int 参数;
  2. 多行有返回值未加 return:
    // ❌ 错误:多行必须手动 return
    Func<int, int> add = (a) => { a + 1; };
    // ✅ 正确
    Func<int, int> add = (a) => { return a + 1; };
    
  3. EF 中使用自定义方法:EF 无法解析自定义方法为 SQL,只能用内置方法;
  4. First/Single 空值异常:优先使用 FirstOrDefault/SingleOrDefault 避免报错。

总结

  1. Lambda 核心规则:单参数可省括号,单行有返回值可省 {} 和 return,编译器自动推断参数类型;
  2. 核心场景:无返回值(Action)用于“执行操作”,有返回值(Func)用于“计算/查询”;
  3. EF 关键要点:Lambda 会被解析为 SQL,需使用 EF 支持的方法,加 ToList() 等方法才执行查询;
  4. 避坑核心:委托类型匹配、多行有返回值加 return、优先用 FirstOrDefault 避免异常。

掌握这些规则和示例,你就能在 C# 集合操作、EF 数据查询中灵活使用 Lambda,大幅简化代码并提升开发效率!


👋 关注我!持续分享 C# 实战技巧、代码示例 & 技术干货

  • 获取示例代码,轻松上手!
告别手动打点计时:用Lauterbach TRACE32的RunTime功能,5分钟搞定嵌入式代码段性能分析 本文深入解析了Lauterbach TRACE32的RunTime功能在嵌入式代码性能分析中的革命性应用。通过硬件级计时原理和非侵入式设计,该功能能快速精确测量代码执行时间,显著提升开发效率,特别适用于汽车电子和工业控制领域。文章还提供了从基础设置到高级分析的完整实战指南,帮助工程师轻松掌握这一强大工具。 阅读详情

相关推荐

告别Godot默认编辑器:手把手教你用VSCode配置C#开发环境(附中文注释避坑指南)

本文详细介绍了如何将VSCode配置为Godot引擎的C#开发环境,提升游戏开发效率。从环境准备、扩展配置到解决中文编码问题,提供完整的避坑指南和高级调试技巧,帮助开发者充分利用VSCode的智能补全和调试功能,打造高效工作流。

weixin_30596023的博客 188

C# Lambda 表达式详解与应用大全

本文全面介绍了C#中的Lambda表达式,涵盖基本语法到高级应用。文章通过丰富示例演示了Lambda如何提升代码简洁性和表现力,同时详细解析了底层机制和最佳实践。主要内容包括:1. 基本 Lambda 语法。2. 委托与 Lambda。3. 闭包与变量捕获。4. LINQ 与 Lambda。5. 表达式树 (Expression Trees)。6. 事件与 Lambda。7. 异步 Lambda。8. 高级用法。9. 实际应用示例。

简单的博客 870

Qwen2.5-7B大模型实战:从零部署到高效推理全流程解析

本文详细解析了Qwen2.5-7B大模型从零部署到高效推理的全流程。内容涵盖环境准备、模型下载、使用Transformers进行核心对话推理,并深入介绍了vLLM与TGI生产级服务部署、GPTQ/AWQ量化技术以降低显存消耗,以及llama.cpp、Ollama等本地推理方案。旨在帮助开发者快速掌握部署技巧,实现大模型在消费级硬件上的高效运行。

weixin_29061425的博客 490

Lambda 表达式(C# 编程指南)

Lambda 表达式是作为对象处理的代码块(表达式或语句块)。它可作为参数传递给方法,也可通过方法调用返回。Lambda 表达式广泛用于: 将要执行的代码传递给异步方法,例如Task.Run(Action)。 编写LINQ 查询表达式。 创建表达式树。 Lambda 表达式是可以表示为委托的代码,或者表示为表达式树的代码,它所表示的表达式树可以编译为委托。L...

dj9812的专栏 318

自研半导体Fab缺陷分析系统:从Klarf解析到Defect Map可视化的实战替代方案

本文分享了自研半导体Fab缺陷分析系统的实战经验,重点解析了Klarf文件格式与坐标系转换的核心技术,并详细介绍了从数据解析到Defect Map可视化的完整实现路径。该系统旨在为成本敏感或追求技术自主的团队提供一套功能完备的Klarity Defect平替方案,有效降低对昂贵商业软件的依赖,实现缺陷数据的自主分析与可视化。

y7z8a的博客 706

华为防火墙USG6000V---内网访问外网---外网访问内网服务器(NAT服务器)示例配置

华为防火墙USG6000V示例配置,展示了访问防火墙、内网服务器、外网和外网访问内网服务器(NAT服务器)的配置。

lehe99的专栏 2万+

Lambda 表达式 C# 编程指南

Lambda 表达式(C# 编程指南) Visual Studio 2010 “Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式树类型。 所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。 该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。 Lambda 表达式 x => x

luckypeng的专栏 3954

即插即用系列(代码实践) | CVPR 2025 WPFormer:小波与原型增强Transformer——表面缺陷检测SOTA,专治弱缺陷与杂乱背景

摘要:本文提出了一种基于小波变换和原型增强的Transformer模型(WPFormer),用于像素级表面缺陷检测。该模型针对工业场景中微弱缺陷难以识别和杂乱背景干扰严重的问题,创新性地将小波变换引入Transformer的注意力机制,通过频域信息分离噪声与边缘特征,同时利用原型向量引导查询,实现了更精准的缺陷定位。核心模块包括小波增强交叉注意力(WCA)和原型引导交叉注意力(PCA),适用于工业缺陷检测、伪装目标检测和医学图像分割等任务。代码已开源,支持即插即用集成到现有框架中。

分享顶会顶刊论文即插即用模块 299

c#中Lambda表达式

在C#的语法中有一种比较特殊的写法,叫做Lambda表达式,这种表达式的写法在于你查询数据的时候直接是使用以下箭头的形式来表示查询语句的:=>。例如,我们要查找学生的List<Student>集合中班级编号为1001的所有学生数据,我们即可用Studentlist.Where(t=>t.ClassCode=‘1001’)语句来直接完成,无需再写繁琐的foreach语句或者for循环。5 查询班级编号为1001的班级下面的姓氏为【李】的同学的所有集合,并按照学生的出生日期从小到大排列。// 查找第一个偶数。

baidu_39458245的博客 3632

MATLAB应用实战系列(七十七)-基于长时间序列栅格数据的MK检验

1 MK检验介绍 MK检验是曼-肯德尔法,又称Mann—Kenddall 检验法,是一种气候诊断与预测技术,应用Mann-Kendall检验法可以判断气候序列中是否存在气候突变,如果存在,可确定出突变发生的时间。Mann-Kendall检验法也经常用于气候变化影响下的降水、干旱频次趋势检测。目前常用于长时间序列的栅格数据的显著性检验,在植被覆盖度,NDVI,NPP等方面尤为常见。 该检验功能强大,不需要样本遵从一定的分布,部分数据缺失不会对结果造成影响,不受少数异常值的干扰,适用性强。不但可以检验时

wenyusuran的专栏 6289

相位偏折PMD全栈技术拆解 | 四步相移解算+梯度积分形貌重建,助力镜面工件微米级缺陷高精度稳定检测

工业精密检测领域中,高反光镜面类工件长期存在检测瓶颈,涵盖汽车高亮车漆、半导体抛光晶圆、光学透镜、精密抛光模具、玻璃盖板等主流产品。传统2D机器视觉仅能识别表面明显污渍、大尺寸破损,完全无法捕捉微米级划痕、凹坑、橘皮、曲面微形变等微观缺陷;常规线激光3D、普通结构光3D检测设备,面对镜面材质会产生严重镜面反射杂光,激光条纹、结构光图案完全失真,必须喷涂显影粉辅助检测,不仅破坏工件表面完整性,还无法适配自动化量产产线,检测效率与良率极低。

getusushu的博客 539

C# Lambda表达式

Lambda表达式是C#语言中一种函数式编程的特性,它的主要作用是简化代码和提高代码的可读性。在使用Lambda表达式时,可以通过其内联特性来实现编写更加简洁的代码。下面将分别介绍Lambda表达式的语法和内联特性。Lambda表达式是一种匿名函数,它可以快速创建简单的委托或表达式树。在C#中,Lambda表达式通常用于替代匿名方法。Lambda表达式通常以箭头“=>”分隔左侧的输入和右侧的输出。

無限進步的全棧遊戲開發的博客 8631

华为OD机试双机位C卷-水库溃坝填补(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【水库溃坝填补】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。水库溃坝填补。

qq_45776114的博客 2109

C#中Lambda表达式总结

在C#的语法中有一种比较特殊的写法,叫做Lambda表达式,这种表达式的写法在于你查询数据的时候直接是使用以下箭头的形式来表示查询语句的:=>。例如,我们要查找学生的List集合中班级编号为1001的所有学生数据,我们即可用Studentlist.Where(t=>t.ClassCode=‘1001’)语句来直接完成,无需再写繁琐的foreach语句或者for循环。Lambda表达式的运算符即为=>。 一、Lambda表达式定义 Lambda表达式实际上是一种匿名函数,在Lambda表达式

你要明白,任何问题都不是孤立存在的,一定有人曾经遇到过,并且已经有更好的解决办法了,只是我还不知道。我不应该在黑暗中独自前行,去重新发明轮子,也许我的顿悟,只是别人的基本功!我应该要站在巨人的肩膀上,学习更成熟的经验和方法,然后再来解决这个问题 4240

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C#的lambda表达式与Linq

C# Lambda表达式与Linq语句和表达式+EntityFramework Core的使用

hccee的博客 1478

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C#用Lambda表达式操作List集合

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.MobileControls; namespace WebFormTest.T...

周奕儒的博客 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

C# Lambda 表达式与集合基础笔记

摘要:本文介绍了C#中Lambda表达式的概念和使用方法。Lambda表达式是匿名函数的简洁写法,通过"=>"运算符连接参数和函数体,常用于创建委托实例。文章详细说明了三种接收Lambda表达式的关键字:Func(有返回值)、Action(无返回值)和Predicate(返回bool类型),并给出了数组查询等具体应用场景。此外,还对比了ArrayList动态数组和List<T>泛型集合的特性,重点介绍了List集合的常用操作方法,如添加、删除、修改、查询等,以及如何与L

qxzln的博客 671

C#的Lambda表达式

在这里插入代码片

qq_36003284的博客 5536

C# Array(进阶)_Lambda表达式_冒泡排序_集合

C# 中的集合类(Collection)是专门用于数据存储和检索的类,类中提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。在剩下的数当中找最小的与第二个位置的数交换,即顺序放在已排好序的数列的最后,如此循环,直到全部数据元素排完为止。集合类的用途多种多样,例如可以动态的为元素分配内存、根据索引访问列表项等等,这些类创建 Object 类的对象集合,Object 类是 C# 中所有数据类型的基类。3.针对除最后一个元素外的所有元素重复以上的步骤。

2401_82410658的博客 1408

C# Lambda表达式详解

最近由于项目需要,刚刚学完了Action委托和Func&lt;T&gt;委托,发现学完了委托就必须学习lambda表达式,委托和Lambda表达式联合起来,才能充分的体现委托的便利、才能使代码更加简介、优雅。 Lambda表达式 "Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量。它可以包含表达式和语句,并且可用于创建委托或表达...

qq_27278957的博客 2697

C#开发-集合使用和技巧(二)Lambda 表达式介绍和应用

Lambda 表达式在 csharp 中是一种简洁的方式来表示匿名方法(也称为匿名函数)。Lambda 表达式的语法使用=>操作符,左侧是输入参数,右侧主体是表达式或代码块。Lambda 表达式主要用于简化 LINQ 查询和事件处理代码,在开发过程中,可以很好的简化代码。Lambda 表达式是 C# 中强大的功能特性,用于简化代码、提高可读性,特别是在 LINQ 查询和事件处理方面。它们的语法简单而灵活,能很好地提高代码的简洁性和可维护性。

海盗Sharp的博客 1066

【C#语言】Lambda表达式改进

通过上述案例,我们可以清晰地看到 Lambda 表达式在实际应用中的强大优势。首先,它大大简化了代码的编写。在处理订单数据时,如果不使用 Lambda 表达式,我们可能需要编写多个循环和条件判断语句来实现筛选、计算和排序等功能,代码会显得冗长且复杂。而使用 Lambda 表达式,我们可以将这些操作以一种更加简洁、直观的方式表达出来,使代码的逻辑更加清晰。其次,Lambda 表达式提高了代码的可读性。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1041

C# lambda表达式语法简介

C# lambda表达式

猪猪侠 1605

C#中Lambda表达式与=>运算符

Lambda表达式是C#中一种简洁的表示匿名函数的方法,它使用=>运算符(称为lambda运算符)将参数列表与表达式或语句块分隔开。Lambda表达式主要用于LINQ查询、事件处理程序、回调函数等场景,使得代码更加简洁和易于阅读。:参数列表,可以为空或包含多个参数=>:lambda运算符,分隔参数列表和方法体:可以是一个表达式(当Lambda返回值时)或者是一个语句块(当Lambda是一个复杂方法时)C#中的=>

lzt1027的博客 1413

【C#】lambda , lambda 表达式语法

Lambda 表达式是 C# 中一种非常简洁且强大的语法结构,它允许你定义匿名方法。简而言之,Lambda 表达式可以看作是一个简化的匿名方法或者匿名函数。

weixin_44939430的博客 1229
上一篇: C# 文件输入与输出操作详解——深入理解文件流
下一篇: C# 特性(Attribute)详解:预定义与自定义特性应用教程
bugcome_com
博客等级 码龄3年 32粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bugcome_com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值