LINQ中的標(biāo)準(zhǔn)查詢運(yùn)算符實(shí)際上是 IEnumerable<T> and IQueryable<T>類型的擴(kuò)展方法。它們?cè)赟ystem.Linq.Enumerable和System.Linq.Queryable類中定義。LINQ中提供了50多個(gè)標(biāo)準(zhǔn)查詢運(yùn)算符,它們提供了不同的功能,例如過(guò)濾,排序,分組,聚合,串聯(lián)等。
查詢語(yǔ)法中的標(biāo)準(zhǔn)查詢運(yùn)算符在編譯時(shí)轉(zhuǎn)換為擴(kuò)展方法。所以兩者都是一樣的。
可以根據(jù)標(biāo)準(zhǔn)查詢運(yùn)算符提供的功能對(duì)其進(jìn)行分類。下表列出了標(biāo)準(zhǔn)查詢運(yùn)算符的所有分類:
類別 | 標(biāo)準(zhǔn)查詢運(yùn)算符 |
---|---|
過(guò)濾 | Where, OfType |
排序 | OrderBy, OrderByDescending, ThenBy, ThenByDescending, Reverse |
分組 | GroupBy, ToLookup |
聯(lián)合 | GroupJoin, Join |
投射 | Select, SelectMany |
聚合 | Aggregate, Average, Count, LongCount, Max, Min, Sum |
修飾 | All, Any, Contains |
元素 | ElementAt, ElementAtOrDefault, First, FirstOrDefault, Last, LastOrDefault, Single, SingleOrDefault |
集合 | Distinct, Except, Intersect, Union |
分區(qū) | Skip, SkipWhile, Take, TakeWhile |
串聯(lián) | Concat |
相等 | SequenceEqual |
范圍狀態(tài) | DefaultEmpty, Empty, Range, Repeat |
轉(zhuǎn)換 | AsEnumerable, AsQueryable, Cast, ToArray, ToDictionary, ToList |
在下一部分中了解每個(gè)標(biāo)準(zhǔn)查詢運(yùn)算符。