“Lambda表达式“(lambda Expression)就是一个匿名函数(匿名方法),lambda表达式基于数学中的入演算得名。

lambda运算符:所有的lambda表达式都是用新的lambda运算符”=>“,可以叫他”转到“或者”成为“ 读作”goes to“。运算符将表达式分两部分,

左边指定输入参数,右边是lambda的主体(方法体)。

Lambda表达式:

  一个参数:param=>expr

  多个参数:(Param-list)=>expr

输入参数与表达式或语句块

  输入参数:在lambda表达式中,输入参数是lambda运算符的左边部分,它包含参数的个数可以为0,1或多个,只有当输入参数为1时,lambda表达式

左边的一对小括弧才可以省略。输入参数的数量大于或者等于2是,lambda表达式左边的一对小括弧中的多个参数之间使用逗号分隔。

  表达式或语句块:多个Lambda表达式 可以构成lambda语句块。语句块是梵高运算的右边 ,作为lambda的主体。语句块中可以包含多条语句,并且可以包含

循环,方法调用和if语句等。语句块必须被 {和}包围。

实例:

  

  static void Main(string[] args)
{
//无参数无返回值lambda表达式
Action my = () => { Console.WriteLine("ni hao shijie"); };
my();
//有参数没有返回值的lambda表达式
Action<int> my1 = x => { Console.WriteLine(x+); };
my1();
//有多个参数没有返回值的lambda表达式
Action<int,int,int > my2 = (x , d ,c)=>
{
Console.WriteLine(x+d+c);
};
my2.Invoke(,,);
//有返回值有参数的lambda表达式
Func<int, int, int> my4 = (str, srt) => { return str * srt; };
int a=my4.Invoke(,);
Console.WriteLine(a);
Console.ReadKey();
}

Lambda表达式&匿名方法的更多相关文章

  1. 十二、C# 委托与Lambda表达式(匿名方法的另一种写法)

    委托与Lambda表达式   1.委托概述 2.匿名方法 3.语句Lambda 4.表达式Lambda 5.表达式树   一.委托概述 相当于C++当中的方法指针,在C#中使用delegate 委托来 ...

  2. [二] java8 函数式接口详解 函数接口详解 lambda表达式 匿名函数 方法引用使用含义 函数式接口实例 如何定义函数式接口

    函数式接口详细定义 package java.lang; import java.lang.annotation.*; /** * An informative annotation type use ...

  3. 编写高质量代码改善C#程序的157个建议——建议150:使用匿名方法、Lambda表达式代替方法

    建议150:使用匿名方法.Lambda表达式代替方法 方法体如果过小(如小于3行),专门为此定义一个方法就会显得过于繁琐.比如: static void SampeMethod() { List< ...

  4. 编写高质量代码改善C#程序的157个建议——建议37:使用Lambda表达式代替方法和匿名方法

    建议37:使用Lambda表达式代替方法和匿名方法 在建议36中,我们创建了这样一个实例程序: static void Main(string[] args) { Func<int, int, ...

  5. java8函数式接口详解、函数接口详解、lambda表达式匿名函数、方法引用使用含义、函数式接口实例、如何定义函数式接口

    函数式接口详细定义 函数式接口只有一个抽象方法 由于default方法有一个实现,所以他们不是抽象的. 如果一个接口定义了一个抽象方法,而他恰好覆盖了Object的public方法,仍旧不算做接口的抽 ...

  6. Lambda表达式匿名类实现接口方法

    Lamb表达式匿名类实现接口方法 import java.util.ArrayList; public class HandlerDemo{ public static void main(Strin ...

  7. java8的新特性之lambda表达式和方法引用

    1.1. Lambda表达式 通过具体的实例去体会lambda表达式对于我们代码的简化,其实我们不去深究他的底层原理和背景,仅仅从用法上去理解,关注两方面: lambda表达式是Java8的一个语法糖 ...

  8. Java函数式编程:一、函数式接口,lambda表达式和方法引用

    Java函数式编程 什么是函数式编程 通过整合现有代码来产生新的功能,而不是从零开始编写所有内容,由此我们会得到更加可靠的代码,并获得更高的效率 我们可以这样理解:面向对象编程抽象数据,函数式编程抽象 ...

  9. JAVA8之Lambda表达式与方法引用表达式

    一.Lambda表达式 基本语法: lambdaParameters->lambdaBody lambdaParameters传递参数,lambdaBody用于编写逻辑,lambda表达式会生成 ...

随机推荐

  1. Skyline桌面二次开发之路径漫游(C#)

    所谓路径漫游:即创建一个动态对象和一条由多点组成的线,然后让动态对象沿着线飞行 首先绘制一条线,实际上路径漫游是不需要绘制线的,我这里只是为了确认动态对象是否沿着线路在飞行,代码如下: //绘制路径 ...

  2. SpringBoot :docker

    Docker 是一个开源的应用容器引擎 docker官方网站:https://hub.docker.com/ $部署docker到Linux系统 1.准备一个Linux系统的虚拟机或者物理机 本例所使 ...

  3. PHP header函数设置http报文头示例详解以及解决http返回头中content-length与Transfer-Encoding: chunked的问题

    最近在服务器上,多媒体与设备(摄像头)对接的时候,总是发生错误导致设备崩溃,抓包发现响应头不对,没有返回length,使得摄像头立即崩溃.找了一下资料,改了一下响应头就好了. //定义编码 heade ...

  4. robot framework接口测试之一-完整的测试用例

    *** Settings *** Library Collections Library json Library requests Library RequestsLibrary Library H ...

  5. SaltStack 基础

    介 SaltStack是基于Python开发的一套C/S架构配置管理工具.它的底层使用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理.号称世界上最快的消息队列Zero ...

  6. [原创]php任务调度器 hellogerard/jobby

    目录 简介 安装 标准使用 选项 项目实践 简介 一个强大的php层面上的定时任务调度器, 无需修改系统层面的crontab 实际中, php 结合 crontab 来实现定时任务是一种经得住考验的实 ...

  7. mfix中统计气泡体积

    先转换为point data 提取空隙率在0.45-1.0之间的网格,为后面提取气泡内网格做准备 把free board部分去掉 然后积分 选择cell data后就得到气泡内所有网格的体积和,如果网 ...

  8. PTA 这是二叉搜索树吗?

    https://pintia.cn/problem-sets/994805046380707840/problems/994805070971912192 #include<iostream&g ...

  9. tp5.0 根据经纬度 获取附近信息

    自己备注一下 /* *参数说明: *$lng 经度 *$lat 纬度 *$distance 周边半径 默认是500米(0.5Km) */ public function returnSquarePoi ...

  10. Spring Boot遇到的某些问题

    Spring Boot遇到的某些问题 1.关于templates的html包格式问题: <properties> <project.build.sourceEncoding>U ...