• LINQ和Lambda表达式


    前言

        前段时间接触了一种新的表达式,但是不知道这个是什么意思,所以就先站在巨人的肩膀用了,现在听师哥说这种写法是Lambda表达式。我一直以为,这个Lambda表达式和LINQ查询有异曲同工之妙,可惜,这样想就大错特错了。

    内容

    LINQ表达式

    定义

        语言集成查询(Language Integrated Query),允许编写C#或者VB代码以查询数据库相同的方式操作内存数据。(其实个人认为和我们平常写的SQL语句功能类似)

    • LINQ写法

      From临时变量in实现IEnumerable<T>接口对象

      Where表达式

      [orderby条件]

      [groupby条件]

      Select临时变量中被查询的值


    例子:

     

    //查询家是London的顾客;
    var expr=
    	from c in Customers
    	where c.City=="London"
    	select c;
    //SQL写法
    var expr =
    	select * from Customers where City="London";

    • LINQ优点(来自百科)

    1、无需复杂学习过程即可上手;

    2、编写更少的代码即可创建完整应用;

    3、更快开发错误更少的应用程序;

    4、无需求助奇怪的编程技巧就可以合并数据源;(这不理解呢!)

    5、能够大幅减少过程控制语句代码块,使代码的可读性和可维护性大幅度提高;

    6、任何对象或数据源都可以定制实现LINQ适配器,为数据交互带来真正方便。


    • LINQ应用场景

        LINQ支持数据源有SQL ServerOracleXML(标准通用标记语言)以及内存中的数据集合。

    Lambda表达式

    定义

        Lambda表达式“(Lambda Expression)”是一个匿名函数。

    • C#表达式

      形参列表=>函数体(运算符读为goes to

      函数体多用一条语句的可用大括号括起来。


    • LINQ中的Lambda表达式是我们常用的使用方法:

    例子

     

    //查询家是London的顾客;
    var expr=>
    	from c in Customers
    	where c.City="London"
    	select c;

    小结

        查了查,然后总结了一下,感觉LINQ和表达式其实在原有的数据库查询上还是有改进的,因为我们写的SQL语句,在执行查询的时候,就是先执行from后面的,然后根据条件选择出来,这种LINQ查询的写法正好类似于后台数据查询执行顺序,在一定程度上确实比较实用;Lambda表达式,匿名函数,没有函数名称的一种函数,其实这个外部方法没有权限访问Lambda表达式内部引入的变量,内部的可以访问外部的,这个和JS里面的闭包函数很相似,这在一定程度上保护了这种情况下的变量。

     

    感谢您的宝贵时间······

  • 相关阅读:
    前端+php实现概率抽奖
    rem.js的用法及在浏览器端的适配
    python 使用记录及问题
    python 工具链 虚拟环境和包管理工具 pipenv
    python 工具链 多版本管理工具 pyenv
    python 工具链 包管理工具 pip
    ansible 使用记录
    mongodb connection refused because too many open connections: 819
    wordpress 常用操作
    服务器硬件测试
  • 原文地址:https://www.cnblogs.com/zhoulitong/p/6412364.html
Copyright © 2020-2023  润新知