C#中的LINQ语句

public static void Main()
{
    int[] nums = { 3, 12, 1, 20, 2, 100 };
    var lowNums =
        from n in nums
        where n < 10
        select n;
    foreach (int num in lowNums)
        Console.WriteLine(num);
}            

注意,LINQ语句在定义后并没有执行,而是等到第一次使用它时。

  • LINQ代表语言集成查询(Language Integrated Query)
  • LINQ是.NET框架的扩展,它允许我们以SQL查询数据库的方式来查询集合
  • 使用LINQ,你可以从数据库、集合以及XML文档中获取数据

LINQ的两种语法形式

查询语法

var longwords = from w in in words where w.length>10

方法语句

var longwords = words.Where(w => w.length>10)

LIN的数据类型

  •  对于Linq to Object,返回的数据类型是IEnumerable<T>,T取决于select子句的结果
  • 一般我们使用推断类型var表示,编译器会自己判断类型

多个where语句

这两种方法都行

二次过滤

  • 可以在上一次查询的结果进行查询
  • 原理:in后面跟的数据类型是IEnumerable接口

 

Select子句

  • 指定返回类型
  • 可以直接返回整个元素,也可以返回一部分属性 

 

什么是匿名数据类型

一定义出来就赋值了,没必要有名字。

var student = new { name = "Rogn", age = 20, major = "computer" };
Console.WriteLine($"{ student.name}, Age:{student.age}, major:{student.major}");

OrderBy子句

 

orderby使用Lambda表达式:

 

多字段排序

 

结果数据转换

  • 将IEnumerable类型的数据转换成List、Array、Dictionary 

 

 

结果数据计算

  • 对IEnumerable类型的数据进行计数、求和、求平均、取第一个数

 

posted @ 2020-03-16 15:49  Rogn  阅读(886)  评论(0编辑  收藏  举报