System.IComparable Interface

public interface IComparable

Assembly

mscorlib

Library

BCL

Summary

Implemented by classes that support an ordering of instances of the class.

Description

[Note: IComparable contains the System.IComparable.CompareTo(System.Object) method. The consumer of an object should call this method when sorting instances of a class.]

See Also

System Namespace

Members

IComparable Methods

IComparable.CompareTo Method


IComparable.CompareTo Method

int CompareTo(object obj);

Summary

Returns the sort order of the current instance compared to the specified object.

Parameters

obj
The Object to compare to the current instance.

Return Value

The return value is a negative number, zero, or a positive number reflecting the sort order of the current instance as compared to obj. For non-zero return values, the exact value returned by this method is unspecified. The following table defines the return value:

Returned Value Description
A negative value The current instance is < obj.
Zero The current instance is == obj.
A positive value The current instance is > than obj or obj is a null reference.

Description

[Behaviors: For any objects A, B and C, the following are required to be true:

A.CompareTo(A) is required to return zero.

If A.CompareTo(B) returns zero then B.CompareTo(A) is required to return zero.

If A.CompareTo(B) returns zero and B.CompareTo(C) returns zero then A.CompareTo(C) is required to return zero.

If A.CompareTo(B) returns a value other than zero then B.CompareTo(A) is required to return a value of the opposite sign.

If A.CompareTo(B) returns a value x not equal to zero, and B.CompareTo(C) returns a value y of the same sign as x, then A.CompareTo(C) is required to a value of the same sign as x and y .

The exact behavior of this method is unspecified. The intent of this method is to provide a mechanism that orders instances of a class in a manner that is consistent with the mathematical definitions of the relational operators (<, >, and ==), without regard for class-specific definitions of the operators.

]

[Usage: Use the System.IComparable.CompareTo(System.Object) method to determine the ordering of instances of a class.]

See Also

System.IComparable Interface, System Namespace