(1)Lambda表达式定义:

   Lambda是创建匿名函数的另一种形式。它比对应的匿名方法更加的简化。因此,所有的情况都推荐使用Lambda表达式。

     它可以包括表达式和语句,并且用于创建委托和事件。

   Lambda表达式由输入参数,Lambda运算符和表达式构成。它的语法如下:(wdd)=>wdds    wdd 表示输入的参数。

    =>为运算符,wdds为表达式或者语句模块。

例1.下面创建一个Lambda表达式:m=>m*m;  分析:输入参数m的值,然后计算出m的平方,并返回计算的结果。

      例2:创建一个Lambda表达式,并获取该值:int n=(int m)=>m*m; 分析:输入参数m,计算出m的平方,并把返回计算的结果赋值给n;

  参考代码为:

        Class Program
          {
              delegate int delA(int m);

        static void Main(string[] args)
              {

          delA n= (m) => { return m*m; };
                  Console.WriteLine(e(2,3));

           Console.ReadKey();

          }

       }

       例3:创建一个Lambda表达式,并获取该值:int n=(int m,int y)=>m*y; 分析:输入参数m,y,计算出m和y的乘积,并把返回计算的结果赋值给n;

       参考代码为:

        Class Program
          {
              delegate int delA(int m,int y);

        static void Main(string[] args)
              {

          delA n= (m,y) => { return m*y; };
                  Console.WriteLine(e(2,3));

           Console.ReadKey();

          }

       }

    多个Lambda表达式可以构成Lambda语句块,语句块可以放在运算符的右边,作为Lambda的主体,根据主体不同,

    Lambda表达式可以分为:表达式Lambda和语句Lambda。语句模块中可以包含多条语句,并且可以包括循环,方法

    调用和if语句等。

    如果Lambda运算符右边是一个语句块,则必须要有{和}包围语句块。

  (2)Lambda查询表达式

    查询表达式是一种查询语法表示的表达式,它用于查询和转换来自任意支持LINQ的数据源中的数据。查询表达式使用许多常见的

      C#语言构造,易读简洁,容易掌握。它由一组类似于SQL或者XQuery的声明型语法编写的字句组成,每一个字句可以包含一个或

      者多个C#表达式。这些表达式本身也可以是查询表达式,或者包含表达式。

  • 查询表达式必须以from字句开头,以select或group 字句结束。
  • from字句:指定查询操作的数据源和范围变量。
  • select字句:指定查询结果的类型和表现形式。
  • where字句:指定筛选元素的逻辑条件。
  • let字句:引入用来保存查询表达式中字句查询结果的范围变量
  • order by:对查询字句进行排序操作 ,包括升序和降序。
  • group :对查询结果进行分组。
  • into字句:提供一个临时标识符,join字句,group字句或者select字句可以通过该标识符引用查询操作中的中间结果。
  • join字句:用来连接多个查询操作的数据源。

lambda表达式和查询表达式的更多相关文章

  1. 查询表达式和LINQ to Objects

    查询表达式实际上是由编译器“预处理”为“普通”的C#代码,接着以完全普通的方式进行编译.这种巧妙的发式将查询集合到了语言中,而无须把语义改得乱七八糟 LINQ的介绍 LINQ中的基础概念 降低两种数据 ...

  2. LINQ 查询表达式(C# 编程指南)

    语言集成查询 (LINQ) 是一组技术的名称,这些技术建立在将查询功能直接集成到 C# 语言(以及 Visual Basic 和可能的任何其他 .NET 语言)的基础上.  借助于 LINQ,查询现在 ...

  3. Linq之查询表达式语法详解

    1.闲言碎语 由于项目的需要接触到Linq,刚开始有些不适应,好多概念都很模糊.不过经过一段时间的摸索,慢慢地对Linq有了一个更加深入的了解.在此记录一下备忘.      2.查询表达式语法 执行L ...

  4. 2.1 LINQ的查询表达式

    在进行LINQ查询的编写之前,首先需要了解查询表达式.查询表达式是LINQ查询的基础,也是最常用的编写LINQ查询的方法. 查询表达式由查询关键字和对应的操作数组成的表达式整体.其中,查询关键字是常用 ...

  5. LINQ查询表达式基础

    LINQ,语言集成查询(Language Integrated Query)是一组用C#和Visual Basic语言的扩展. 对于编写查询的开发人员来说,LINQ 最明显的"语言集成&qu ...

  6. [转]查询表达式 (F#)

    本文转自:http://msdn.microsoft.com/zh-cn/library/hh225374.aspx 查询表达式可以查询数据源并将数据是一种预期形式.             查询表达 ...

  7. (五)lucene之特定项搜索和查询表达式

    需求:模糊搜索. 前提:  本例中使用lucene 5.3.0 package com.shyroke.lucene; import java.io.File; import java.io.File ...

  8. C# Lambda表达式和linq表达式 之 匿名对象查询接收

    很多小伙伴都用过Lambda表达式和linq表达式,用起来也得心应手,但是有的小伙伴 对匿名对象的查询与接收比较迷茫,(没有定义相应的实体),怎么在where()里面进行 条件筛选呢?常规用法我就不说 ...

  9. C# LINQ查询表达式用法对应Lambda表达式

    C#编程语言非常优美,我个人还是非常赞同的.特别是在学习一段时间C#后发现确实在它的语法和美观度来说确实要比其它编程语言强一些(也可能是由于VS编译器的加持)用起来非常舒服,而且对于C#我觉得他最优美 ...

随机推荐

  1. "\r\n","\r","\n"

    参考: http://blog.csdn.net/xiaofei2010/article/details/8458605 '\r' : 回车符 '\n' : 换行符 以下是c++语言的测试代码, 跟平 ...

  2. XMPP 和 OpenFire

    XMPP XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测.是一种数据传输协议. XMPP的前身是Jabber,一个开源形式组织产生的网络 ...

  3. python——argsort函数

    numpy中argsort函数用法,有需要的朋友可以参考下. 在Python中使用help帮助 >>> import numpy >>> help(numpy.ar ...

  4. Ajax跨域访问

    Ajax如何跨域访问数据 最近在做项目的过程中遇到的问题,一个网站需要访问另外一个网站的数据,并且是通过脚本的方式,而由于同源策略的限制,开发人员不能再与外部服务器进行通信的时候使用XMLHttpRe ...

  5. html 学习资料列表

    HTML 教程 HTML 简介 html div 标签介绍 html span 标签介绍 html a 超链接标签 HTML Br换行标签介绍 HTML P段落标签介绍 HTML br与p标签区别 H ...

  6. delphi.thread.同步

    注意:此文只是讲线程间的同步,其它同步不涉及. 线程同步是个好话题,因为写线程经常会遇到,所以就写写自己知道的东西. D里面,同步(特指线程同步)从线程的角度来分,有几种情况: 1:主线程与工作线程的 ...

  7. Struts2中使用OGNL

    链接:Struts标签库 OGNL(Object Graphic Navigatino Language) OGNL称为对象图导航语言.以一个对象为根(起点),通过OGNL可以访问与这个对象关联的其它 ...

  8. Unity3d程序运行的时候在unity3d标志哪里进不去的原因

    我那个去,居然是有两个error..我郁闷了,unity编译器有error居然也能打包能apk.我真是醉了.搞了我几个小时.

  9. Github上传自己的工程

    1.注册并新建项目 2.配置github for windows 前题:安装相应的github for windows 2.1 获取密钥 可以用命令的模式(Git bash),参考资料中有相应的用法: ...

  10. jsp+servlet+mysql 实现简单的银行登录转账功能

    jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...