了解 语言集成 (LINQ) 查询

  • LINQ是集成在.NET编程语言的一种特性。它允许使用C#、VB.NET等语言在内存中方便的查询信息。

LINQ提供了一种跨数据源和数据格式的同意模型,实现查询。

  • LINQ标准查询操作符允许查询作用于所有基于 IEnumerable<T> 接口的数据源。

IEnumerable<T>接口在.NET中是非常重要的接口,它允许开发人员定义foreach语句功能的实现并支持非泛型方法的简单的迭代,IEnumerable<T>接口是.NET Framework中最基本的集合访问器。它定义了一组扩展方法,用来对数据集合中的元素进行遍历、过滤、排序、搜索等操作。

//完整语法
from [type] id in source
[join [type] id in source on expr equa;s [into subGroup]]
[from [type] id in source | let id=expr | where condition]
[orderby ordering,ordering,ordering...]
select expr|group expr by key
[into id query]

IEnumerable接口是LINQ查询的核心接口,只有实现了IEnumerable接口数据源,才能执行相关的LINQ操作。

LINQ操作步骤:

  1. 获取数据源
  2. 创建查询
  3. 执行查询
  • LINQ分别为”查询语法”和“方法语法”两种用法。

1.lambda表达式基于数学中的”λ 演算” 得名;

什么是λ 演算呢?

λ 演算是一套用于研究函数定义、函数应用和递归的形式系统。λ 演算可以被称为最小的通用程序设计语言。它包括一条变换规则 (变量替换) 和一条函数定义方式,λ演算之通用在于,任何一个可计算函数都能用这种形式来表达和求值。因而,它是等价于图灵机的。尽管如此,λ演算强调的是变换规则的运用,而非实现它们的具体机器。可以认为这是一种更接近软件而非硬件的方式。它一个数理逻辑形式系统,使用变量代入和置换来研究基于函数定义和应用的计算。希腊字母λ被用来在λ演算模型中表示将一个变量绑定在一个函数中。

语法:

形参列表=>方法体

2.方法语法

方法语法的本质就是通过扩展方法和Lambda表达式来创建查询的。

 static void Main(string[] args)
        {
            string[] demo = { "TA", "DY", "HC", "MAY", "HI" };

               IEnumerable<string> query = demo
                .Where(n => n.Contains("a"))
             //按长度进行排列
                .OrderBy(n => n.Length)
            //把结果转换成大写
                .Select(n => n.ToUpper());
             foreach (string demo in query){
            Console.WriteLine(demo);
         } 
        } 
       
      // Result:
       TA
       MAY
          

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值