zoukankan      html  css  js  c++  java
  • lambda表达式和查询表达式

      (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字句:用来连接多个查询操作的数据源。
  • 相关阅读:
    白话排序算法--快速排序
    白话排序算法--插入排序
    javamail模拟邮箱功能--邮件回复-中级实战篇【邮件回复方法】(javamail API电子邮件实例)
    javamail模拟邮箱功能获取邮件内容-中级实战篇【内容|附件下载方法】(javamail API电子邮件实例)
    JS替换地址栏参数值
    JAVA中使用FTPClient上传下载
    js事件的捕获和冒泡阶段
    js刷新页面方法大全
    js检测上传文件大小
    java正则:不包含某个规则字符串【转】
  • 原文地址:https://www.cnblogs.com/CarzySunshine/p/6102342.html
Copyright © 2011-2022 走看看