IOrderedEnumerable<T> Interface
The IOrderedEnumerable<T> interface represents a sorted sequence of values. It is returned by OrderBy, OrderByDescending, ThenBy, and ThenByDescending methods.
Syntax
public interface IOrderedEnumerable<in TElement> : IEnumerable<TElement>
{
}
Inheritance
- System.Object
- System.Collections.Generic.IEnumerable<TElement>
- IOrderedEnumerable<TElement>
Members
This interface inherits all members of IEnumerable<T>. It does not declare additional members.
| Member | Description |
|---|---|
GetEnumerator() |
Returns an enumerator that iterates through the collection. |
System.Collections.IEnumerable.GetEnumerator() |
Returns an enumerator that iterates through a collection (non‑generic). |
See also
Example
Sort a list of products first by category, then by price:
using System;
using System.Collections.Generic;
using System.Linq;
class Product
{
public string Category { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
class Demo
{
static void Main()
{
var products = new List<Product>
{
new Product { Category = "Beverages", Name = "Tea", Price = 1.99m },
new Product { Category = "Beverages", Name = "Coffee",Price = 2.99m },
new Product { Category = "Food", Name = "Apple", Price = 0.99m },
new Product { Category = "Food", Name = "Bread", Price = 1.49m }
};
IOrderedEnumerable<Product> ordered = products
.OrderBy(p => p.Category)
.ThenBy(p => p.Price);
foreach (var p in ordered)
{
Console.WriteLine($"{p.Category,-10} {p.Name,-6} {p.Price,5:C}");
}
}
}