Comparer<T>.IComparer.Compare Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
Namespace: System.Collections.Generic
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Private Function Compare ( _
x As Object, _
y As Object _
) As Integer Implements IComparer.Compare
int IComparer.Compare(
Object x,
Object y
)
Parameters
- x
Type: System.Object
The first object to compare.
- y
Type: System.Object
The second object to compare.
Return Value
Type: System.Int32
A signed integer that indicates the relative values of x and y, as shown in the following table.
Value |
Condition |
---|---|
Less than zero |
x is less than y. |
Zero |
x equals y. |
Greater than zero |
x is greater than y. |
Implements
Exceptions
Exception | Condition |
---|---|
ArgumentException | x or y is of a type that cannot be cast to type T. -or- x and y do not implement either the System.IComparable<T> generic interface or the System.IComparable interface. |
Remarks
This method is a wrapper for the Compare(T, T) method, so obj must be cast to the type specified by the generic argument T of the current instance. If it cannot be cast to T, an ArgumentException is thrown.
Comparing nulla null reference (Nothing in Visual Basic) with any reference type is allowed and does not generate an exception. When sorting, nulla null reference (Nothing in Visual Basic) is considered to be less than any other object.
Notes to Callers
Compare and EqualityComparer<T>.Equals behave differently in terms of culture-sensitivity and case-sensitivity.
For string comparisons, the StringComparer class is recommended over Comparer<String>. Properties of the StringComparer class return predefined instances that perform string comparisons with different combinations of culture-sensitivity and case-sensitivity. The case-sensitivity and culture-sensitivity are consistent among the members of the same StringComparer instance.
For more information on culture-specific comparisons, see the System.Globalization namespace.
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.