今天是元旦假期的第三天,明天就要开始上班了,所以想借今天的时间总结一下LINQ中标准查询运算符的知识,因为此部分内容比较多,所以我想用上,下两篇来介绍它,其中上篇要介绍的内容是标准查询运算符介绍,查询表达式和方法语法组合和标准查询运算符的签名。
标准查询运算符介绍:
标准查询运算符由一系列叫做API的方法组成,它能让我们查询任何.NET数组或集合。
1,有关标准查询运算符的重要特性:
1> 被查询的集合对象叫做序列,它必须实现IEnumerable<T>接口,其中T是类型。
2> 标准查询运算符使用方法语法。
3> 运算符一般返回两种结果,一种是IEnumerable对象,另一种是返回标量,返回标量的立即执行,而返回可枚举类型对象的值会被延迟迭代。
2,示例:
1 static void Main(string[] args)
2 {
3 int[] numbers = { 2, 4, 6 };//numbers为IEnumerable<T>对象,在这里T代表int。
4
5 int howMany = numbers.Count();//Count为运算符,它是扩展了IEnumerable<T>泛型的扩展方法。
6
7 Console.WriteLine("Count:{0}",howMany);
8 Console.ReadKey();
9 }
查询表达式和标准查询运算符(方法语法)组合:
查询表达式和方法语法可以组合使用,请看下面示例:
1 class Program
2 {
3 static void Main(string[] args)
4 {
5 int[] numbers = { 2,6,4,8,10};
6
7 int howMany = (from n in numbers//查询表达式和运算符组合使用
8 where n < 7
9 select n).Count();
10
11 Console.WriteLine("Count:{0}",howMany);
12 Console.ReadKey();
13 }
14 /*
15 输出结果:Count:3
16 */
17 }
标准查询运算符的签名:
System.Linq.Enumerable类声明了标准查询运算符方法。然而这些方法不仅仅是一些方法,它们是扩展了IEnumerable<T>泛型的扩展方法。
下面是三个运算符的签名:Count,First和Where.
public static int Count<T>(this IEnumerable<T> source );
public static T First<T>(this IEnumerable<T> source);
public static IEnumberable<T> Where(this IEnumerable<T> source,...);
由以上签名,我们需要了解运算符的签名的重要事项如下:
1,它们必须声明为public和static。
2,它们必须在第一个参数前有this扩展指示器。
3,必须把IEnumerable<T>作为第一个参数。
以上就是标准运算符(或叫方法语法)上篇的内容,接下来会总结下篇的内容,希望朋友们继续关注。