zoukankan      html  css  js  c++  java
  • Linq的概念解析

    http://www.cnblogs.com/2018/category/262512.html 这些文章中提到

    WCF Data Service和WCF RIA Service的使用,在实际的使用过程中会经常的使用linq,为此把这些概念解析一下。

    序列

    IEnumerable<T> ,这个类型是关键,LINQ的标准查询操作符都需要使用该类型对象作为参数

    查询操作符

    是指在LINQ查询上下文事业能够的、一系列扩展方法的集合,是实现linq的最重要的一类元素

    预定义的标准查询操作符:

    过滤

    OfType, Where

    投影

    Select, SelectMany

    分区

    Skip, SkipWhile, Take, TakeWhile

    连接

    GroupJoin, Join

    串联

    Concat

    排序

    OrderBy, OrderByDescending, Reverse, ThenBy, ThenByDescending

    分组

    GroupBy, ToLookup

    集合

    Distinct, Except, Intersect, Union

    转换

    AsEnumerable, AsQueryable, Cast, ToArray, ToDictionary, ToList

    等同

    SequenceEqual

    元素

    ElementAt, ElementAtOrDefault, First, FirstOrDefault, Last,

    生成

    LastOrDefault, Single, SingleOrDefault

    数量

    DefaultIfEmpty, Empty, Range, Repeat

    聚集

    All, Any, Contains

    查询表达式

    查询表达式提供了一种继承于语言中的、用于编写查询语句的语法。编译器自动将其转换为对标准查询操作符的调用。

    查询本操作符和查询表达是对应关系

    查询操作符

    查询表达式(C#)

    All

    Any

    Average

    Cast

    使用显式类型的范围变量,如 from int i in numbers

    Count

    Distinct

    GroupBy

    group … by
    group … by … into …

    GroupJoin

    join … in … on …
    equals … into…

    Join

    join … in … on …
    equals …

    LongCount

    Max

    Min

    OrderBy

    orderby

    OrderByDescending

    orderby … descending

    Select

    select

    SelectMany

    多个Frrom子句

    Skip

    SkipWhile

    Sum

    Take

    TakeWhile

    ThenBy

    orderby …, …

    ThenByDescending

    orderby …, …descending

    Where

    where

    两种写法相同效果的例子

    查询操作符

    查询表达式

    SampleData.Books

    .Where(book => book.Title == "Funny Stories")

    .OrderBy(book => book.Title)

    .Select(book => new {book.Title, book.Price});

    from book in SampleData.Books

    where book.Title == "Funny Stories"

    orderby book.Title

    select new {book.Title, book.Price};

    根据情况和语言中的对应限定关系选择使用。

  • 相关阅读:
    网页、JavaScript 数据类型
    网页javascript
    网页CSS
    使用ButterKnife无法inject view的解决办法
    项目管理实践 -- 健身小管家(Fitness housekeeper)的管理
    XML的序列化与反序列化
    JAVA虚拟机JVM-7.多线程常见问题刨析
    JAVA虚拟机JVM-6.锁优化
    JAVA虚拟机JVM-5.多线程以及锁
    JAVA虚拟机JVM-4.线程模型
  • 原文地址:https://www.cnblogs.com/2018/p/1875850.html
Copyright © 2011-2022 走看看