今天是2012年的第二天,今天要总结的内容是LINQ中查询变量和查询表达式的结构。
查询变量:
首先来看一段代码:
1 class Program
2 {
3 static void Main(string[] args)
4 {
5 int[] numbers = { 2,5,28,31,17,16,42};
6
7 var numsQuery = from n in numbers //返回枚举数
8 where n < 20
9 select n;
10
11 int numsCount = (from n in numbers//返回一个整数
12 where n < 20
13 select n).Count();
14
15 foreach (var x in numsQuery)
16 {
17 Console.Write("{0},",x);
18 }
19 Console.WriteLine();
20
21 Console.WriteLine("{0}",numsCount);
22
23 Console.ReadKey();
24 }
25 }
26 /*
27 程序输出结果为:2,5,17,16
28 4
29 */
从以上代码中我们可以得到如下信息:
1,LINQ查询可以返回两种类型的结果:
1> 一个是枚举,它列出了满足查询参数的项列表。
2> 一个是叫做标量(scalar)的单一值。它是满足查询条件的结果的某种摘要形式。
例如第一个语句返回的是一个IEnumerable对象,它可以被用来枚举查询的结果。第二个语句执行查询并调用一个方法(Count)来返回从查询返回的项的总数。
2,等号左边的变量就叫查询变量。如上例中的变量numsQuery和numsCount。
理解了查询变量后下面我们来看一下查询表达式的结构。
查询表达式的结构:
最基本的查询表达式的结构总结如下:
from Item in Items
[where BooleanExpression]
select Item
注:1> 其中Item为迭代变量,Items是要查询的集合的名字,且集合必须是可枚举的(即实现IEnumerable接口)。
2> [where BooleanExpression]是可选的。
今天就总结到这儿,当然查询表达式中还有一些可选的子句,如from...let...where...,orderby...,group...等子句,这些在实际应用中再去学习,最重要的是要对基本的查询表达式结构熟悉。
明天将要总结的是标准查询运算符的部分,明天再续... ...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架