English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

LINQ Standard Query Operators

The standard query operators in LINQ are actually extension methods of IEnumerable<T> and IQueryable<T> types. They are defined in the System.Linq.Enumerable and System.Linq.Queryable classes. LINQ provides5Multiple standard query operators, which provide different functions, such as filtering, sorting, grouping, aggregation, concatenation, and more.

Standard query operators in query syntax

Standard query operators in query syntax

Standard query operators in method syntax

Standard query operators in method syntax

Standard query operators in query syntax are converted to extension methods at compile time. Therefore, both are the same.

Standard query operators can be categorized according to the functions provided by them. The following table lists all categories of standard query operators:

CategoriesStandard Query Operators
FilteringWhere, OfType
SortingOrderBy, OrderByDescending, ThenBy, ThenByDescending, Reverse
GroupingGroupBy, ToLookup
UnionGroupJoin, Join
ProjectionSelect, SelectMany
AggregationAggregate, Average, Count, LongCount, Max, Min, Sum
AdornmentAll, Any, Contains
ElementsElementAt, ElementAtOrDefault, First, FirstOrDefault, Last, LastOrDefault, Single SingleOrDefault
CollectionsDistinct, Except, Intersect, Union
PartitioningSkip, SkipWhile, Take, TakeWhile
ConcatenationConcat
EqualSequenceEqual
Range StateDefaultEmpty, Empty, Range, Repeat
ConversionAsEnumerable, AsQueryable, Cast, ToArray, ToDictionary, ToList

Learn about each standard query operator in the next part.