Aggregation
Aggregate, Average, Count, LongCount, Max, Min, Sum
Conversion
AsEnumerable, Cast, OfType, ToArray, ToDictionary, ToList, ToLookup
Element
ElementAt, ElementAtOrDefault, First, FirstOrDefault, Last, LastOrDefault, Single, SingleOrDefault
ElementAt
ElementAtOrDefault
First (simple)
First (conditional)
FirstOrDefault
Last
LastOrDefault (simple)
LastOrDefault (conditional)
Single
SingleOrDefault
Generation
DefaultIfEmpty, Empty, Range, Repeat
Grouping
GroupBy
Join
GroupJoin, Join
Ordering
OrderBy, OrderByDescending, Reverse, ThenBy, ThenByDescending
OrderBy (simple - numbers)
OrderBy (simple - dates)
OrderBy (simple - objects)
OrderByDescending
Reverse
ThenBy
ThenByDescending
Other
Concat, SequenceEqual, Zip
Partitioning
Skip, SkipWhile, Take, TakeWhile
Projection
Select, SelectMany
Quantifiers
All, Any, Contains
Restriction
Where
Set
Distinct, Except, Intersect, Union
Close
OrderBy: Sorts a collection in ascending order.
OrderBy: Sorts a collection in ascending order. |
OrderBy: Sorts a collection in ascending order. |
This Query Expression sample sorts array of dates in ascending order. |
This Query Expression sample sorts array of dates in ascending order. |
static void Sample_OrderBy_Linq_Dates() { var dates = new DateTime[] { new DateTime(2015, 2, 15), new DateTime(2015, 3, 25), new DateTime(2015, 1, 5) }; var result = from d in dates orderby d select d; Debug.WriteLine("Ordered list of dates:"); foreach (DateTime dt in result) Debug.WriteLine(dt.ToString("yyyy/MM/dd")); }Output:
Ordered list of dates: 2015-01-05 2015-02-15 2015-03-25
Private Sub Sample_OrderBy_Linq_Dates() Dim dates = New DateTime() { New DateTime(2015, 2, 15), New DateTime(2015, 3, 25), New DateTime(2015, 1, 5) } Dim result = From d In dates Order By d Debug.WriteLine("Ordered list of dates:") For Each dt As DateTime In result Debug.WriteLine(dt.ToString("yyyy/MM/dd")) Next End SubOutput:
Ordered list of dates: 2015-01-05 2015-02-15 2015-03-25
// There is no OrderBy() for Query Expressions in F#, but it has the similar "sortBy". let Sample_OrderBy_Linq_Dates() = let dates = [|new DateTime(2015, 2, 15); new DateTime(2015, 3, 25); new DateTime(2015, 1, 5) |] let result = query { for d in dates do sortBy d select d } Debug.WriteLine(sprintf "Ordered list of dates:") for dt in result do Debug.WriteLine(sprintf "{0:yyyy-MM-dd}", dt)Output:
Ordered list of dates: 2015-01-05 2015-02-15 2015-03-25
static void Sample_OrderBy_Lambda_Dates() { var dates = new DateTime[] { new DateTime(2015, 2, 15), new DateTime(2015, 3, 25), new DateTime(2015, 1, 5) }; var result = dates.OrderBy(d => d); Debug.WriteLine("Ordered list of dates:"); foreach (DateTime dt in result) Debug.WriteLine(dt.ToString("yyyy/MM/dd")); }Output:
Ordered list of dates: 2015-01-05 2015-02-15 2015-03-25
Private Shared Sub Sample_OrderBy_Lambda_Dates() Dim dates = New DateTime() _ { _ New DateTime(2015, 2, 15), _ New DateTime(2015, 3, 25), _ New DateTime(2015, 1, 5) _ } Dim result = dates.OrderBy(Function(d) d) Debug.WriteLine("Ordered list of dates:") For Each dt As DateTime In result Debug.WriteLine(dt.ToString("yyyy/MM/dd")) Next End SubOutput:
Ordered list of dates: 2015-01-05 2015-02-15 2015-03-25
let Sample_OrderBy_Lambda_Dates() = let dates = [|new DateTime(2015, 2, 15); new DateTime(2015, 3, 25); new DateTime(2015, 1, 5) |] let result = dates.OrderBy(fun d -> d); Debug.WriteLine(sprintf "Ordered list of dates:") for dt in result do Debug.WriteLine(sprintf "{0:yyyy-MM-dd}", dt)Output:
Ordered list of dates: 2015-01-05 2015-02-15 2015-03-25