MSDN Documentation

System.Collections.Comparer Class

The Comparer class provides a way to compare two objects of a particular type, using the IComparable interface or a supplied IComparer implementation. It is commonly used with collections that require sorting.

Namespace

System.Collections

Assembly

mscorlib.dll

Inheritance

  • System.Object
  • System.Collections.Comparer

Syntax

public sealed class Comparer : IComparer

Constructors

SignatureDescription
Comparer() Initializes a new instance of the Comparer class that uses the current culture.
Comparer(CultureInfo culture) Initializes a new instance that uses the specified CultureInfo.

Properties

PropertyTypeDescription
Default Comparer Gets a default comparer that uses the current culture.

Methods

SignatureReturnsDescription
int Compare(object x, object y) int Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
static Comparer Create(IComparer comparer) Comparer Creates a new Comparer that uses the supplied IComparer implementation.

Example

// Sorting an ArrayList using the default Comparer
using System;
using System.Collections;
using System.Globalization;

class Demo
{
    static void Main()
    {
        ArrayList list = new ArrayList
        {
            "orange",
            "Apple",
            "banana",
            "Cherry"
        };

        // Sort using the case‑insensitive comparer for the current culture
        list.Sort(Comparer.Default);
        foreach (string s in list)
            Console.WriteLine(s);
    }
}

Remarks

The Comparer class is primarily used by non‑generic collections that require an IComparer implementation, such as ArrayList.Sort or SortedList. For generic collections, consider using System.Collections.Generic.Comparer<T> instead.