This documentation is archived and is not being maintained.

BigInteger.CompareTo Method (Object)

Compares this instance to a specified object and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified object.

Namespace:  System.Numerics
Assembly:  System.Numerics (in System.Numerics.dll)

public int CompareTo(
	Object obj


Type: System.Object
The object to compare.

Return Value

Type: System.Int32
A signed integer that indicates the relationship of the current instance to the obj parameter, as shown in the following table.

Return value


Less than zero

The current instance is less than obj.


The current instance equals obj.

Greater than zero

The current instance is greater than obj, or the obj parameter is null.




obj is not a BigInteger.

This overload of the CompareTo method implements the IComparable.CompareTo method. It is used by non-generic collection objects to order the items in the collection.

The obj parameter must be one of the following:

  • An object whose run-time type is BigInteger.

  • An Object variable whose value is null. If the value of the obj parameter is null, the method returns 1, which indicates that that the current instance is greater than obj.

The following example calls the CompareTo(Object) method to compare a BigInteger value with each element in an object array

object[] values = { BigInteger.Pow(Int64.MaxValue, 10), null, 
                    12.534, Int64.MaxValue, BigInteger.One };
BigInteger number = UInt64.MaxValue;

foreach (object value in values)
   try {
      Console.WriteLine("Comparing {0} with '{1}': {2}", number, value, 
   catch (ArgumentException) {
      Console.WriteLine("Unable to compare the {0} value {1} with a BigInteger.",
                        value.GetType().Name, value);
// The example displays the following output:
//    Comparing 18446744073709551615 with '4.4555084156466750133735972424E+189': -1
//    Comparing 18446744073709551615 with '': 1
//    Unable to compare the Double value 12.534 with a BigInteger.
//    Unable to compare the Int64 value 9223372036854775807 with a BigInteger.
//    Comparing 18446744073709551615 with '1': 1

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, 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.