Home
Map
IOrderedEnumerable ExampleUse a query expression with orderby and then a foreach-loop over the IOrderedEnumerable that is returned.
C#
This page was last reviewed on Sep 30, 2021.
IOrderedEnumerable. With a C# query expression (beginning with from) we can sort a collection of elements. When we specify an orderby clause, an IOrderedEnumerable is returned.
Sort
orderby
Similar to IEnumerable. An IOrderedEnumerable does the same thing an IEnumerable does, and we can use an IOrderedEnumerable variable where an IEnumerable is needed.
IEnumerable
An example program. Consider now this program. We have a string array of 3 values. We use a query expression (starting with "from") to sort the values.
And This returns an IOrderedEnumerable. We can pass IOrderedEnumerable to methods that require IEnumerable.
Note Usually we do not use IOrderedEnumerable directly—we can just use the variable as though it is an IEnumerable.
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { var animals = new string[] { "bird", "cat", "ant" }; var result = from animal in animals orderby animal ascending select animal; // Our result is an IOrderedEnumerable. // ... We can use it as an IOrderedEnumerable. Test(result); // We can use the IOrderedEnumerable as an IEnumerable. Test2(result); // We can use extension methods for IEnumerable on IOrderedEnumerable. Console.WriteLine("Count: " + result.Count()); } static void Test(IOrderedEnumerable<string> result) { // We can loop over an IOrderedEnumerable. foreach (string value in result) { Console.WriteLine("IOrderedEnumerable: " + value); } } static void Test2(IEnumerable<string> result) { foreach (string value in result) { Console.WriteLine("IEnumerable: " + value); } } }
IOrderedEnumerable: ant IOrderedEnumerable: bird IOrderedEnumerable: cat IEnumerable: ant IEnumerable: bird IEnumerable: cat Count: 3
Notes. The program shows that "foreach" can be used on IOrderedEnumerable and IEnumerable. This is a common use for these interfaces—looping over them.
foreach
Detail The Count() extension method (which loops over the entire collection in some cases) can also be used on IOrderedEnumerable.
Count
For most programs, we can focus on IEnumerable instead of IOrderedEnumerable. The distinction is not important. But it does indicate that the values have been sorted (by an orderby clause).
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Sep 30, 2021 (image).
Home
Changes
© 2007-2024 Sam Allen.