.NET API Reference

Home Search

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

Members

This interface inherits all members of IEnumerable<T>. It does not declare additional members.

MemberDescription
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}");
        }
    }
}

On this page