zoukankan      html  css  js  c++  java
  • LINQ学习笔记(7) 标准查询运算符(上)

      今天是元旦假期的第三天,明天就要开始上班了,所以想借今天的时间总结一下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>作为第一个参数。

     

    以上就是标准运算符(或叫方法语法)上篇的内容,接下来会总结下篇的内容,希望朋友们继续关注。

  • 相关阅读:
    XML基础(二)
    XML基础(一)
    转载:数据库应用开发工具Toad使用笔记
    Oracle数据库获取一行记录中某几个字段的最大值/最小值函数
    设置Android让EditText不自动获取焦点
    android TextView selector点击样式改变
    Jenkins build java app under redhat
    Yum
    git windows
    jenkins redhat installation using war file .
  • 原文地址:https://www.cnblogs.com/mcgrady/p/2310882.html
Copyright © 2011-2022 走看看