当前位置: 首页 > news >正文

C# Lambda表达式

 概述

名称的由来

来自微积分数学中的 λ,其涵义是声明为了表达一个函数具体需要什么。

说明

1、使用 Lambda 表达式来创建匿名函数,可以高效简化代码。

2、若要创建 Lambda 表达式,需要在 Lambda 运算符左侧指定输入参数(如果有),然后在另一侧输入表达式或语句块。

3、任何 Lambda 表达式都可以转换为委托类型。 其参数的类型和返回值定义了 Lambda 表达式可转换成的委托类型。

4、编写 lambda 时,通常不必为输入参数指定类型,因为编译器可以根据 lambda 主体、参数类型以及 C# 语言规范中描述的其他因素来推断类型。

5、表达式位于 => 运算符右侧的 lambda 表达式称为“表达式 lambda”。

 参数类型

 //无参无返回
Action action1 = () =>
{
    int a = 1 + 2;
    int b = 3 + 4;
    Console.WriteLine(a+b);
};

//有参无返回
Action<int> action2 = (a) =>
{
    int b = a + 1;
    Console.WriteLine(b);
};
//当只有一个参数的时候,括号可以省略
Action<int> action3 = a =>
{
    int b = a + 1;
    Console.WriteLine(b);
};

//有参有返回
Func<int, int, int> action4 = (a, b) => a + b;

Func<int, int, int> action5 = (a, b) =>
{
    a = a * 2;
    b = b * 2;
    return a + b;
};

//无参有返回
Func<int> action6 = () => 1000;

相关文章:

  • CMU15445(2023fall) Project #3 - Query Execution(上)详细分析
  • cuda-12.4.0 devel docker 中源码安装 OpenAI triton
  • 秋招:现状与应对措施,如何做好秋招与暑期实习的衔接?
  • 操作系统知识点12
  • 详解 HashMap扩容机制,HashMap的底层原理以及HashSet在底层原理
  • Java Web应用中获取客户端的真实IP地址
  • 【AI论文】时间有其定位吗?时间信息头:语言模型在何处回忆时间特定信息
  • Stable Diffusion(SD)系列模型及关联算法深度解析
  • 多个pdf合并成一个pdf的方法
  • 我的AI工具箱Tauri+Django环境开发,支持局域网使用
  • 力扣练习之递增的三元子序列
  • Spring系列学习之Spring CredHub
  • 场内、场外期权怎么开户?期权佣金是多少?
  • linux上面安装 向量数据库 mlivus和 可视化面板Attu
  • sql深入学习
  • 自然语言处理:词频-逆文档频率
  • Token相关设计
  • Python之使用动态导包优化软件加载速度
  • Elasticsearch:过滤 HNSW 搜索,快速模式
  • 基于Flask的红袖网小说数据可视化分析系统
  • 做设计什么网站可以兼职/百度seo排名在线点击器
  • 一个网站建设需要多少钱/江门百度seo公司
  • 厦门网站建设 智多星/seo推广优化
  • 企业线上培训平台有哪些/广州seo和网络推广
  • wordpress论坛系统/微信搜索seo优化
  • 门户网站建设统计表/广州推广引流公司