LINQ---查询变量

Posted bedfly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ---查询变量相关的知识,希望对你有一定的参考价值。

LINQ查询可以返回两种类型的结果----枚举和标量(scalar)的单一值

 1 namespace ConsoleApplication46
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7             int[] numbers = { 2, 5, 28 };
 8 
 9             IEnumerable<int> lowNums = from n in numbers     //返回枚举数
10                                        where n < 20
11                                        select n;
12 
13             int numsCount = (from n in numbers                 //返回一个数
14                              where n < 20
15                              select n).Count();
16 
17             foreach (var item in lowNums )
18             {
19                 Console.Write("{0}   ", item);
20             }
21             Console.WriteLine();
22 
23             Console.WriteLine("{0}  ", numsCount );
24         }
25     }
26 }

等号左边叫做查询变量

总结:

如果查询表达式返回枚举,查询一直到处理枚举时才会执行

如果枚举被处理多次,查询就会执行多次

如果在进行遍历之后,查询执行之前数据有改动,则查询会使用新的数据

如果查询表达式返回标量,查询立即执行,并且把结果保存在查询变量中

 

 

以上是关于LINQ---查询变量的主要内容,如果未能解决你的问题,请参考以下文章

Lambda 表达式 LINQ 等效于 SQL 在同一表/变量上存在查询

LINQ中的一些查询语句格式

为啥 Lambda 变量范围存在于 LINQ 查询之外?

LINQ---查询变量

LINQ的实例

LINQ-Entities Group By With Range 变量查询