Saturday, February 9, 2008

Standard Query Operators for LINQ

Where Restriction operator based on predicate function
Select/SelectMany Projection operators based on selector function
Take/Skip/ TakeWhile/SkipWhile Partitioning operators based on position or predicate function
Join/GroupJoin Join operators based on key selector functions
Concat
OrderBy/ThenBy/ OrderByDescending/ ThenByDescending Sorting operators sorting in ascending or descending order based on optional key selector and comparer functions
Reverse Sorting operator reversing the order of a sequence
GroupBy Grouping operator based on optional key selector and comparer functions
Distinct Set operator removing duplicates
Union/Intersect Set operators returning set union or intersection
Except Set operator returning set difference
AsEnumerable Conversion operator to IEnumerable<T>
ToArray/ToList Conversion operator to array or List<T>
ToDictionary/ToLookup Conversion operators to Dictionary<K,T> or Lookup<K,T> (multi-dictionary) based on key selector function<
OfType/Cast Conversion operators to IEnumerable<T> based on filtering by or conversion to type argument
SequenceEqual Equality operator checking pairwise element equality
First/FirstOrDefault/ Last/LastOrDefault/ Single/SingleOrDefault Element operators returning initial/final/only element based on optional predicate function
ElementAt/ ElementAtOrDefault Element operators returning element based on position
DefaultIfEmpty Element operator replacing empty sequence with default-valued singleton sequence
Range Generation operator returning numbers in a range
Repeat Generation operator returning multiple occurrences of a given value
Empty Generation operator returning an empty sequence
Any/All Quantifier checking for existential or universal satisfaction of predicate function
Contains Quantifier checking for presence of a given element
Count/LongCount Aggregate operators counting elements based on optional predicate function
Sum/Min/Max/Average Aggregate operators based on optional selector functions
Aggregate Aggregate operator accumulating multiple values based on accumulation function and optional seed

No comments: