Home
C#
OrderByDescending Example
Updated Jun 5, 2024
Dot Net Perls
OrderByDescending. This sorts elements from high to low. It is an extension method found in the System.Linq namespace. It receives a key selector Func instance.
Func
Extension
We pass OrderByDescending a lambda expression that selects the key. The OrderBy method actually means OrderByAscending, as it sorts from low to high.
orderby
OrderByDescending example. Here, each Tuple has 2 items of type int. Next, we call OrderByDescending and use a lambda expression that selects the Item1 property of each Tuple instance.
Tuple
Lambda
Finally We see that the Tuples are sorted from the highest Item1 value to the lowest Item1 value.
Info A reverse sort (a descending sort) is performed. Using descending sorts is usually faster than using a separate reverse pass.
using System; using System.Linq; // Create array of tuples. Tuple<int, int>[] tuples = new Tuple<int, int>[3]; tuples[0] = new Tuple<int, int>(3, 6); tuples[1] = new Tuple<int, int>(6, 4); tuples[2] = new Tuple<int, int>(0, 60); // Order by descending on Item1. var result = tuples.OrderByDescending(a => a.Item1); foreach (var item in result) { Console.WriteLine(item); }
(6, 4) (3, 6) (0, 60)
OrderBy example. OrderBy specifies how a collection should be ordered. It is an extension method. We can invoke OrderBy on any collection that implements IEnumerable.
IEnumerable
Note The lambda matches the signature of Func as the argument. On the right side of the lambda, we reverse each string to get the sort key.
Result The result (of type IOrderedEnumerable) consists of the 4 strings sorted by their characters considered in reverse order.
using System; using System.Linq; // Input array. string[] array = { "the", "glass", "bead", "game" }; // Order alphabetically by reversed strings. var result = array.OrderBy(a => new string(a.ToCharArray().Reverse().ToArray())); // Display results. foreach (var item in result) { Console.WriteLine(item); }
bead the game glass
OrderBy and OrderByDescending are often used by the C# compiler when it translates query expressions with the descending contextual keyword.
descending
Tip Because query expressions do not require explicit delegate syntax (such as lambda expressions) they can be easier to read.
A summary. These 2 methods are sometimes useful. But most often they are used in the translation of query expressions with the orderby and descending keywords.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Jun 5, 2024 (edit).
Home
Changes
© 2007-2025 Sam Allen