Linq 关键字

from

var lowNums = from num in numbers
            where num < 5
            select num;

numbers 是数据源,而 num 是范围变量。             请注意,这两个变量都是强类型

List<Student> students = new List<Student>
        {
           new Student {LastName="Omelchenko", Scores= new List<int> {97, 72, 81, 60}},
           new Student {LastName="O‘Donnell", Scores= new List<int> {75, 84, 91, 39}},
           new Student {LastName="Mortensen", Scores= new List<int> {88, 94, 65, 85}},
           new Student {LastName="Garcia", Scores= new List<int> {97, 89, 85, 82}},
           new Student {LastName="Beebe", Scores= new List<int> {35, 72, 91, 70}}
        };

// Use a compound from to access the inner sequence within each element.
        // Note the similarity to a nested foreach statement.
        var scoreQuery = from student in students
                         from score in student.Scores
                            where score > 90
                            select new { Last = student.LastName, score };
where

条件

where    子句用在查询表达式中,用于指定将在查询表达式中返回数据源中的哪些元素。

它将一个布尔条件(“谓词”)应用于每个源元素(由范围变量引用),并返回满足指定条件的元素。  一个查询表达式可以包含多个 where 子句,一个子句可以包含多个谓词子表达式。

时间: 2024-10-12 20:26:12

Linq 关键字的相关文章

Linq to Entities基础之需要熟知14个linq关键字(from,where,select,group,let,on,by...)

1.Linq基础 <1> 关键词: from,in,group,by,where..... MSDN上总结的有14个关键词法... from xxxx in xxxx select => 三个不可缺少的条件... [最基础的框架] 第一:这是语法糖... 第二:能够往sql上靠近... (为了更好的理解) using (SchoolDBEntities db = new SchoolDBEntities()) { var query = from s in db.Students sel

常用LINQ关键字用法汇总

背景 传统上,针对数据的查询都以简单的字符串表示,而没有编译时类型检查或 IntelliSense 支持.此外,还需要针对每种数据源学习一种不同的查询语言:SQL 数据库.XML 文档.各种 Web 服务等等. LINQ 使查询成为 C# 中的一流语言构造. 可以使用语言关键字和熟悉的运算符针对强类型化对象集合编写查询. 注意事项 版本需求:.NET Framework 3.5 或更高版本 查询对象:SQL Server 数据库.XML 文档.ADO.NET 数据集以及支持 IEnumerabl

C# linq的学习及使用

linq可以对多种数据源和对象进行查询,如数据库.数据集.XML文档.数组等. 通过对linq的使用,可以减少代码量并优化检索操作. LINQ关键字 from 指定数据源和范围变量 where 根据布尔表达式(由逻辑与 或 等组成)从数据源中筛选元素 select 指定查询结果中的元素所具有的类型或表现形式 group 对对查询结果按照键值进行分组 into 提供一个标示符,它可以充当对 join group 或 select 子句结果的引用 orderby 对查询出的元素进行排序 join 按

编写高质量代码改善C#程序的157个建议[匿名类型、Lambda、延迟求值和主动求值]

原文:编写高质量代码改善C#程序的157个建议[匿名类型.Lambda.延迟求值和主动求值] 前言 从.NET3.0开始,C#开始一直支持一个新特性:匿名类型.匿名类型由var.赋值运算符和一个非空初始值(或以new开头的初始化项)组成.匿名类型有如下基本特性: 1.既支持简单类型也支持复杂类型.简单类型必须是一个非空初始值,复杂类型则是一个以new开头的初始化项. 2.匿名类型的属性是只读的,没有属性设置器,它一旦倍初始化就不可更改. 3.如果两个匿名类型的属性值相同,那么就任务这两个匿名类型

拿 C# 搞函数式编程 - 3

前言 今天和某个人聊天聊到了 C# 的 LINQ,发现我认识的 LINQ 似乎和大多数人认识的 LINQ 不太一样,怎么个不一样法呢?其实 LINQ 也可以用来搞函数式编程. 当然,并不是说写几个 lambda 和用用像 Java 那样的 stream 之类的就算叫做 LINQ 了,LINQ 其实是一个另外的一些东西. LINQ 在 C# 中,相信大家都见过如下的 LINQ 写法: IEnumerable<int> EvenNumberFilter(IEnumerable<int>

Linq善解人意之通过MSDN对14个“查询关键字“逐个解剖

linq中存在的 14个关键字 网址: https://msdn.microsoft.com/zh-cn/library/bb310804.aspx from: 迭代变量 where:对数据源进行逻辑筛选 select:对数据进行塑形. group: 分组 into: 分组链接 orderby[ascending/descending]: 排序 join:表关联 let:就是局部变量 string[] strings = { "A penny saved is a penny earned.&q

读书笔记 C# Linq查询之group关键字浅析

在C#中,自从有了Linq查询表达式后,程序员对可被迭代的序列或列表执行一系列的筛选.排序.过滤.分组.查询等操作.本文章所要讲述的是group关键字. Linq查询表达式,是以from关键字开头,以select或group关键字结尾,它们之中可以插入where.orderby.join.let甚至附加的from子句. group子句返回的是一个IGrouping<TKey,TElement>对象序列,请注意,是对象序列,而不是单个对象.由于group查询产生的IGrouping<TKe

LINQ之let关键字

let子句用于在LINQ表达式中存储子表达式的计算结果.let子句创建一个范围变量来存储结果,变量被创建后,不能修改或把其他表达式的结果重新赋值给它.此范围变量可以再后续的LINQ子句中使用. 实例1 1 int[] numbers = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 2 3 //传统下的子查询做法 4 //var query = from num in numbers 5 // select num * (from n in numbers 6

[LINQ]查询关键字

摘自https://msdn.microsoft.com/zh-cn/library/bb310804.aspx,方便以后翻阅. from子句 查询表达式必须以 from 子句开头.另外,查询表达式还可以包含子查询,子查询也是以 from 子句开头. from 子句指定以下内容: 将对其运行查询或子查询的数据源. 一个本地范围变量,表示源序列中的每个元素. 范围变量和数据源都是强类型. from 子句中引用的数据源的类型必须为 IEnumerable.IEnumerable<T> 或一种派生类