BigInteger.IComparable.CompareTo(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.

 virtual int System.IComparable.CompareTo(System::Object ^ obj) = IComparable::CompareTo;
int IComparable.CompareTo (object obj);
Function CompareTo (obj As Object) As Integer Implements IComparable.CompareTo

パラメーター

obj
Object

比較するオブジェクト。The object to compare.

戻り値

現在のインスタンスと obj パラメーターの関係を示す符号付き整数 (次の表を参照)。A signed integer that indicates the relationship of the current instance to the obj parameter, as shown in the following table.

戻り値Return value 説明Description
ゼロより小さいLess than zero 現在のインスタンスは obj より小さい。The current instance is less than obj.
ゼロZero 現在のインスタンスと obj は等しい。The current instance equals obj.
ゼロより大きいGreater than zero 現在のインスタンスは obj より大きい、または obj パラメーターが null である。The current instance is greater than obj, or the obj parameter is null.

実装

例外

objBigInteger ではありません。obj is not a BigInteger.

次の例では、CompareTo(Object) メソッドを呼び出して、BigInteger 値とオブジェクト配列の各要素を比較しています。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, 
                        number.CompareTo(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
Dim values() As Object = { BigInteger.Pow(Int64.MaxValue, 10), Nothing, 
                           12.534, Int64.MaxValue, BigInteger.One }
Dim number As BigInteger = UInt64.MaxValue

For Each value As Object In values
   Try
      Console.WriteLine("Comparing {0} with '{1}': {2}", number, value, 
                        number.CompareTo(value))
   Catch e As ArgumentException
      Console.WriteLine("Unable to compare the {0} value {1} with a BigInteger.",
                        value.GetType().Name, value)
   End Try                     
Next                                 
' 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

注釈

obj パラメーターは、次のいずれかである必要があります。The obj parameter must be one of the following:

  • 実行時の型が BigIntegerオブジェクト。An object whose run-time type is BigInteger.

  • 値が nullObject 変数。An Object variable whose value is null. obj パラメーターの値が nullの場合、メソッドは1を返します。これは、現在のインスタンスが objより大きいことを示します。If the value of the obj parameter is null, the method returns 1, which indicates that the current instance is greater than obj.

適用対象

こちらもご覧ください