“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。

  如:delegate int  del(int i);

  del myDelegate = x=>return x*x;

  创建表达式目录树类型:

  using System.Linq.Expressions;  Expression<del> = x => x * x;

  Lambda表达式基本格式为:(input parameters) => expression,当参数只有一个时,括号是可选的,当参数多于一个时,参数是必须的。使用空括号可以表式0个参数类型,如果编译器无法或较难推断

输入类型,就需要为参数指定类型  lambda语句与表达式类型,但可以存在于括号中,可以包含多条语句,一般不会超过3条。如

delegate int del(int x, int y);
del MyDelegate = (x,y)=>{int temp = y * y; return temp + x;}
    许多标准查询运算符都具有输入参数,其类型是泛型委托的 Func(Of T, TResult) 系列的其中之一。Func(Of T, TResult) 委托使用类型参数来定义输入参数的数量和类型,以及委托的返回类型。Func 
委托对于封装应用于一组源数据中每个元素的用户定义表达式非常有用。例如,假设有以下委托类型:
Func<int, bool> myFunc = x => x == 5;bool result = myFunc(4); // returns false of course
    当参数类型为 Expression<Func> 时,也可以提供 Lambda 表达式:    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };    int oddNumbers = numbers.Count(n => n % 2 == 1);

转载于:https://www.cnblogs.com/penghong/archive/2010/05/27/1741520.html

C#3.0 new features: Lambda expression相关推荐

  1. Lambda Expression

    "Lambda 表达式"(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstra ...

  2. [原创]深入理解C# 3.x的新特性(3):从Delegate、Anonymous Method到Lambda Expression

    较之前一个版本,对于C# 3.x和VB 9来说,LINQ是最具吸引力的.基本上很多的新的特性都是围绕着LINQ的实现来设计的.借助Extension Method,我们可以为LINQ定义一系列的Ope ...

  3. 0x55——C#中的Lambda Expression

    本文主要参考MSDN上的Lambda Expression(C# Programming Guide),博文Lambda Expression和code project上的博文Exploring La ...

  4. java lambda函数_Java SE 8新功能介绍:使用Lambda Expression进行函数式编程

    java lambda函数 " Java SE 8新功能浏览 "系列的这篇文章将深入了解Lambda表达式 . 我将向您展示Lambda表达式的几种不同用法. 它们都具有功能接口的 ...

  5. Java SE 8新特性导览:使用Lambda Expression进行函数式编程

    " Java SE 8新功能浏览 "系列的这篇文章将深入了解Lambda表达式 . 我将向您展示Lambda表达式的几种不同用法. 它们都具有功能接口的共同实现. 我将解释编译器如 ...

  6. Java lambda expression

    Lambda表达式 匿名类的一个问题是,如果匿名类的实现非常简单,例如只包含一个方法的接口,那么匿名类的语法可能看起来不实用且不清楚.在这些情况下,您通常会尝试将功能作为参数传递给另一个方法,例如当有 ...

  7. C#体贴之处点滴 - extention method, lambda expression, anonymous method

    说的是C#如何体贴程序员,而非.NET Framework. 这是C#对Delegate相关领域下的精微功夫:     List<Product> products = Product.G ...

  8. IDEA:Lambda expression are not supported at language level ‘5‘

    错误 Lambda expression are not supported at language level '5' Error:(28, 39) java: -source 1.5 中不支持 l ...

  9. sed: -e expression #1, char 0: no previous regular expression

    sed执行替换操作,单独执行不存在问题,但是脚本中执行报上述信息: ###手工执行############# [root@k8s-t01 tmp]# a=88888888 [root@k8s-t01 ...

  10. Lambda expression are not supported at language level '5'

    错误信息: Lambda expression are not supported at language level '5' Error:(28, 39) java: -source 1.5 中不支 ...

最新文章

  1. LeetCode 202. Happy Number--Python解法
  2. Redhat的硬盘安装
  3. leetcode算法题--Integer to Roman
  4. Python注释缩进不得当导致IndentationError: unexpected indent
  5. Linux 实操———CentOS 6 安装配置 Oracle JDK 1.8
  6. 担心网络崩溃并非杞人忧天
  7. 从输入 URL 到页面加载完的过程中都发生了什么事情?
  8. “遗留代码是传奇!”
  9. java session超时判断_详解SpringBoot中Session超时原理说明
  10. JetBrain全家桶介绍
  11. 史上最全最实用的生活小窍门
  12. 3:STM32CubeMX配置STM32F103C8T6驱动-RTC驱动
  13. 小程序商店刷榜_微信小程序游戏跳一跳刷榜原理解析!
  14. C语言3067答案,教师招聘《小学教育心理学》通关试题每日练(2020年03月03日-3067)...
  15. Linux通过wine运行QQ,Ubuntu安装wine运行QQ和微信
  16. python里的log怎么表示_python中的对数log函数表示及用法
  17. Android HID设备的连接
  18. Revit建模中快速局部平面操作,一键搞定!
  19. html手机手势解锁,手机手势图案密码忘了如何解锁?
  20. 【帅琪达】git相关面试题目

热门文章

  1. 二叉树的宽度 java_Java语言描述二叉树的深度和宽度
  2. 解决requests.text乱码问题content.decode()
  3. 企业信用评分卡模型实战(python,附代码)
  4. java删除文件夹分享企,java删除文件夹下所有文件示例分享
  5. hive中groupby优化_工作中总结的关于hive的优化方案
  6. java 实际参数列表_JAVA实际参数和形式参数列表长度不同
  7. linux环境安装ffmepg,Linux centOS下安装FFmpeg
  8. 120.三角形最小路径和
  9. matlab仿真之大尺度衰落因子2--小区间
  10. 从马克思看计算机科学,从马克思主义的角度,用科学精神来看生死观,应该说已经解决,或...