BigInteger.CompareTo Method (Object)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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.

Exception Condition

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
Available since 4.0
Available since 4.0
Return to top