This documentation is archived and is not being maintained.

CaseInsensitiveComparer.Compare Method

Performs a case-insensitive comparison of two objects of the same type and returns a value indicating whether one is less than, equal to, or greater than the other.

Namespace:  System.Collections
Assembly:  mscorlib (in mscorlib.dll)

public int Compare(
	Object a,
	Object b
)

Parameters

a
Type: System.Object
The first object to compare.
b
Type: System.Object
The second object to compare.

Return Value

Type: System.Int32
A signed integer that indicates the relative values of a and b, as shown in the following table.

Value

Meaning

Less than zero

a is less than b, with casing ignored.

Zero

a equals b, with casing ignored.

Greater than zero

a is greater than b, with casing ignored.

Implements

IComparer.Compare(Object, Object)

ExceptionCondition
ArgumentException

Neither a nor b implements the IComparable interface.

-or-

a and b are of different types.

If a and b are both strings, this method uses CompareInfo.Compare to compare the strings with the casing ignored; otherwise, it uses the IComparable implementation of either object. That is, if a implements IComparable, then this method returns the result of a. CompareTo (b); otherwise, if b implements IComparable, then it returns the negated result of b. CompareTo (a).

Comparing null with any type is allowed and does not generate an exception when using IComparable. When sorting, null is considered to be less than any other object.

String comparisons might have different results depending on the culture. For more information on culture-specific comparisons, see the System.Globalization namespace and Encoding and Localization.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: