BigInteger.CompareTo BigInteger.CompareTo BigInteger.CompareTo BigInteger.CompareTo Method

정의

이 인스턴스의 값을 다른 값과 비교하고 이 인스턴스의 값이 다른 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.Compares the value of this instance with another value and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the other value.

오버로드

CompareTo(Object) CompareTo(Object) CompareTo(Object) 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.

CompareTo(UInt64) CompareTo(UInt64) CompareTo(UInt64) CompareTo(UInt64)

이 인스턴스를 부호 없는 64비트 정수와 비교하고 이 인스턴스의 값이 부호 없는 64비트 정수 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.Compares this instance to an unsigned 64-bit integer and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the unsigned 64-bit integer.

CompareTo(Int64) CompareTo(Int64) CompareTo(Int64) CompareTo(Int64)

이 인스턴스를 부호 있는 64비트 정수와 비교하고 이 인스턴스의 값이 부호 있는 64비트 정수 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.Compares this instance to a signed 64-bit integer and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the signed 64-bit integer.

CompareTo(BigInteger) CompareTo(BigInteger) CompareTo(BigInteger) CompareTo(BigInteger)

이 인스턴스를 두 번째 BigInteger와 비교하고 이 인스턴스의 값이 지정된 개체의 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.Compares this instance to a second BigInteger 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.

CompareTo(Object) CompareTo(Object) CompareTo(Object) 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.

public:
 virtual int CompareTo(System::Object ^ obj);
public int CompareTo (object obj);
abstract member CompareTo : obj -> int
override this.CompareTo : obj -> int
Public Function CompareTo (obj As Object) As Integer

매개 변수

obj
Object Object Object 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
0보다 작음Less than zero 현재 인스턴스가 obj보다 작습니다.The current instance is less than obj.
0Zero 현재 인스턴스가 obj와 같습니다.The current instance equals obj.
0보다 큼Greater than zero 현재 인스턴스가 obj보다 크거나 obj 매개 변수가 null입니다.The current instance is greater than obj, or the obj parameter is null.

구현

예외

예제

다음 예제에서는 합니다 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

설명

이 오버 로드는 CompareTo 메서드 구현 된 IComparable.CompareTo 메서드.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.

obj 매개 변수는 다음 중 하나 여야 합니다.The obj parameter must be one of the following:

  • 개체 런타임 형식이 BigInteger합니다.An object whose run-time type is BigInteger.

  • Object 변수 값을 갖는 null합니다.An Object variable whose value is null. obj 매개 변수의 값이 이면이 null메서드는 현재 인스턴스가 보다 obj큰지 나타내는 1을 반환 합니다.If the value of the obj parameter is null, the method returns 1, which indicates that the current instance is greater than obj.

추가 정보

CompareTo(UInt64) CompareTo(UInt64) CompareTo(UInt64) CompareTo(UInt64)

중요

이 API는 CLS 규격이 아닙니다.

이 인스턴스를 부호 없는 64비트 정수와 비교하고 이 인스턴스의 값이 부호 없는 64비트 정수 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.Compares this instance to an unsigned 64-bit integer and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the unsigned 64-bit integer.

public:
 int CompareTo(System::UInt64 other);
[System.CLSCompliant(false)]
public int CompareTo (ulong other);
member this.CompareTo : uint64 -> int
Public Function CompareTo (other As ULong) As Integer

매개 변수

other
UInt64 UInt64 UInt64 UInt64

비교할 부호 없는 64비트 정수입니다.The unsigned 64-bit integer to compare.

반환

다음 표와 같이 이 인스턴스와 other의 상대 값을 나타내는 부호 있는 정수입니다.A signed integer that indicates the relative value of this instance and other, as shown in the following table.

반환 값Return value 설명Description
0보다 작음Less than zero 현재 인스턴스가 other보다 작습니다.The current instance is less than other.
0Zero 현재 인스턴스가 other와 같습니다.The current instance equals other.
0보다 큼Greater than zero 현재 인스턴스가 other보다 큽니다.The current instance is greater than other.

CompareTo(Int64) CompareTo(Int64) CompareTo(Int64) CompareTo(Int64)

이 인스턴스를 부호 있는 64비트 정수와 비교하고 이 인스턴스의 값이 부호 있는 64비트 정수 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.Compares this instance to a signed 64-bit integer and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the signed 64-bit integer.

public:
 int CompareTo(long other);
public int CompareTo (long other);
member this.CompareTo : int64 -> int
Public Function CompareTo (other As Long) As Integer

매개 변수

other
Int64 Int64 Int64 Int64

비교할 부호 있는 64비트 정수입니다.The signed 64-bit integer to compare.

반환

다음 표와 같이 이 인스턴스와 other 사이의 관계를 나타내는 부호 있는 정수 값입니다.A signed integer value that indicates the relationship of this instance to other, as shown in the following table.

반환 값Return value 설명Description
0보다 작음Less than zero 현재 인스턴스가 other보다 작습니다.The current instance is less than other.
0Zero 현재 인스턴스가 other와 같습니다.The current instance equals other.
0보다 큼Greater than zero 현재 인스턴스가 other보다 큽니다.The current instance is greater than other.

예제

다음 예제에서는 호출의 결과 CompareTo(Int64) 정수 값을 사용 하 여 메서드.The following example illustrates the result of calling the CompareTo(Int64) method with integral values.

BigInteger bigIntValue = BigInteger.Parse("3221123045552");

byte byteValue = 16;
sbyte sbyteValue = -16;
short shortValue = 1233;      
ushort ushortValue = 1233;
int intValue = -12233;
uint uintValue = 12233;
long longValue = 12382222;
ulong ulongValue = 1238222;

Console.WriteLine("Comparing {0} with {1}: {2}", 
                  bigIntValue, byteValue, 
                  bigIntValue.CompareTo(byteValue));
Console.WriteLine("Comparing {0} with {1}: {2}", 
                  bigIntValue, sbyteValue, 
                  bigIntValue.CompareTo(sbyteValue)); 
Console.WriteLine("Comparing {0} with {1}: {2}", 
                  bigIntValue, shortValue, 
                  bigIntValue.CompareTo(shortValue));
Console.WriteLine("Comparing {0} with {1}: {2}", 
                  bigIntValue, ushortValue, 
                  bigIntValue.CompareTo(ushortValue)); 
Console.WriteLine("Comparing {0} with {1}: {2}", 
                  bigIntValue, intValue, 
                  bigIntValue.CompareTo(intValue));
Console.WriteLine("Comparing {0} with {1}: {2}", 
                  bigIntValue, uintValue, 
                  bigIntValue.CompareTo(uintValue)); 
Console.WriteLine("Comparing {0} with {1}: {2}", 
                  bigIntValue, longValue, 
                  bigIntValue.CompareTo(longValue));
Console.WriteLine("Comparing {0} with {1}: {2}", 
                  bigIntValue, ulongValue, 
                  bigIntValue.CompareTo(ulongValue));
// The example displays the following output:
//       Comparing 3221123045552 with 16: 1
//       Comparing 3221123045552 with -16: 1
//       Comparing 3221123045552 with 1233: 1
//       Comparing 3221123045552 with 1233: 1
//       Comparing 3221123045552 with -12233: 1
//       Comparing 3221123045552 with 12233: 1
//       Comparing 3221123045552 with 12382222: 1
//       Comparing 3221123045552 with 1238222: 1
Dim bigIntValue As BigInteger = BigInteger.Parse("3221123045552")

Dim byteValue As Byte = 16
Dim sbyteValue As SByte = -16
Dim shortValue As Short = 1233      
Dim ushortValue As UShort = 1233
Dim intValue As Integer = -12233
Dim uintValue As UInteger = 12233
Dim longValue As Long = 12382222
Dim ulongValue As Integer = 1238222

Console.WriteLine("Comparing {0} with {1}: {2}", _
                  bigIntValue, byteValue, _
                  bigIntValue.CompareTo(byteValue))
Console.WriteLine("Comparing {0} with {1}: {2}", _
                  bigIntValue, sbyteValue, _
                  bigIntValue.CompareTo(sbyteValue)) 
Console.WriteLine("Comparing {0} with {1}: {2}", _
                  bigIntValue, shortValue, _
                  bigIntValue.CompareTo(shortValue)) 
Console.WriteLine("Comparing {0} with {1}: {2}", _
                  bigIntValue, ushortValue, _
                  bigIntValue.CompareTo(ushortValue)) 
Console.WriteLine("Comparing {0} with {1}: {2}", _
                  bigIntValue, intValue, _
                  bigIntValue.CompareTo(intValue)) 
Console.WriteLine("Comparing {0} with {1}: {2}", _
                  bigIntValue, uintValue, _
                  bigIntValue.CompareTo(uintValue)) 
Console.WriteLine("Comparing {0} with {1}: {2}", _
                  bigIntValue, longValue, _
                  bigIntValue.CompareTo(longValue)) 
Console.WriteLine("Comparing {0} with {1}: {2}", _
                  bigIntValue, ulongValue, _
                  bigIntValue.CompareTo(ulongValue))
' The example displays the following output:
'       Comparing 3221123045552 with 16: 1
'       Comparing 3221123045552 with -16: 1
'       Comparing 3221123045552 with 1233: 1
'       Comparing 3221123045552 with 1233: 1
'       Comparing 3221123045552 with -12233: 1
'       Comparing 3221123045552 with 12233: 1
'       Comparing 3221123045552 with 12382222: 1
'       Comparing 3221123045552 with 1238222: 1

설명

경우 otherByte, Int16, Int32, SByte, UInt16, 또는 UInt32 값을 암시적으로 변환할를 Int64 경우이 값는 CompareTo(Int64) 메서드가 호출 됩니다.If other is a Byte, Int16, Int32, SByte, UInt16, or UInt32 value, it is implicitly converted to an Int64 value when the CompareTo(Int64) method is called.

CompareTo(BigInteger) CompareTo(BigInteger) CompareTo(BigInteger) CompareTo(BigInteger)

이 인스턴스를 두 번째 BigInteger와 비교하고 이 인스턴스의 값이 지정된 개체의 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.Compares this instance to a second BigInteger 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.

public:
 virtual int CompareTo(System::Numerics::BigInteger other);
public int CompareTo (System.Numerics.BigInteger other);
abstract member CompareTo : System.Numerics.BigInteger -> int
override this.CompareTo : System.Numerics.BigInteger -> int
Public Function CompareTo (other As BigInteger) As Integer

매개 변수

other
BigInteger BigInteger BigInteger BigInteger

비교할 개체입니다.The object to compare.

반환

다음 표와 같이 이 인스턴스와 other 사이의 관계를 나타내는 부호 있는 정수 값입니다.A signed integer value that indicates the relationship of this instance to other, as shown in the following table.

반환 값Return value 설명Description
0보다 작음Less than zero 현재 인스턴스가 other보다 작습니다.The current instance is less than other.
0Zero 현재 인스턴스가 other와 같습니다.The current instance equals other.
0보다 큼Greater than zero 현재 인스턴스가 other보다 큽니다.The current instance is greater than other.

구현

예제

다음 예제를 사용 합니다 CompareTo(BigInteger) 메서드는 목록의 순서를 StarInfo 개체입니다.The following example illustrates the use of the CompareTo(BigInteger) method to order a list of StarInfo objects. StarInfo 개체 별의 이름과 (마일)이 지구 로부터의 거리에 대 한 정보를 제공 합니다.Each StarInfo object provides information about a star's name and its distance from the Earth in miles. StarInfo 구현 된 IComparable<T> 인터페이스를 StarInfo 제네릭 컬렉션 클래스에서 정렬할 개체입니다.StarInfo implements the IComparable<T> interface, which enables StarInfo objects to be sorted by generic collection classes. 해당 IComparable<T>.CompareTo 구현에 대 한 호출 래핑하기만 CompareTo(BigInteger)합니다.Its IComparable<T>.CompareTo implementation just wraps a call to CompareTo(BigInteger).

using System;
using System.Collections.Generic;
using System.Numerics;

public struct StarInfo : IComparable<StarInfo>
{
   // Define constructors.
   public StarInfo(string name, double lightYears)
   {
      this.Name = name;
      
      // Calculate distance in miles from light years.
      this.Distance = (BigInteger) Math.Round(lightYears * 5.88e12);
   }

   public StarInfo(string name, BigInteger distance)
   {
      this.Name = name;
      this.Distance = distance;
   }

   // Define public fields.
   public string Name;
   public BigInteger Distance;

   // Display name of star and its distance in parentheses.
   public override string ToString()
   {
      return String.Format("{0,-10} ({1:N0})", this.Name, this.Distance);
   }

   // Compare StarInfo objects by their distance from Earth.
   public int CompareTo(StarInfo other)
   {
      return this.Distance.CompareTo(other.Distance);
   }
}
Imports System.Collections.Generic
Imports System.Numerics

Public Structure StarInfo : Implements IComparable(Of StarInfo)
   ' Define constructors.
   Public Sub New(name As String, lightYears As Double)
      Me.Name = name
      ' Calculate distance in miles from light years.
      Me.Distance = CType(Math.Round(lightYears * 5.88e12), BigInteger)
   End Sub
   
   Public Sub New(name As String, distance As BigInteger)
      Me.Name = name
      Me.Distance = distance
   End Sub
   
   ' Define public fields.
   Public Name As String
   Public Distance As BigInteger

   ' Display name of star and its distance in parentheses.
   Public Overrides Function ToString() As String
      Return String.Format("{0,-10} ({1:N0})", Me.Name, Me.Distance)
   End Function

   ' Compare StarInfo objects by their distance from Earth.
   Public Function CompareTo(other As starInfo) As Integer _
                   Implements IComparable(Of StarInfo).CompareTo
      Return Me.Distance.CompareTo(other.Distance)
   End Function                
End Structure

다음 코드는 다음 네 가지 인스턴스화합니다 StarInfo 개체 및 제네릭에 저장 합니다 List<T> 개체입니다.The following code then instantiates four StarInfo objects and stores them in a generic List<T> object. 후 합니다 List<T>.Sort 메서드를 호출 StarInfo 개체 지구 로부터의 거리의 순서로 표시 됩니다.After the List<T>.Sort method is called, StarInfo objects are displayed in order of their distance from the Earth.

public class Example
{
   public static void Main()
   {
      StarInfo star;
      List<StarInfo> stars = new List<StarInfo>();

      star = new StarInfo("Sirius", 8.6d);
      stars.Add(star);
      star = new StarInfo("Rigel", 1400d);
      stars.Add(star);
      star = new StarInfo("Castor", 49d);
      stars.Add(star);
      star = new StarInfo("Antares", 520d);
      stars.Add(star);

      stars.Sort();

      foreach (StarInfo sortedStar in stars)
         Console.WriteLine(sortedStar);
   }
}
// The example displays the following output:
//       Sirius     (50,568,000,000,000)
//       Castor     (288,120,000,000,000)
//       Antares    (3,057,600,000,000,000)
//       Rigel      (8,232,000,000,000,000)
Module Example
   Public Sub Main()
      Dim star As StarInfo
      Dim stars As New List(Of StarInfo)
      
      star = New StarInfo("Sirius", 8.6d)
      stars.Add(star)
      star = New StarInfo("Rigel", 1400d)
      stars.Add(star)
      star = New StarInfo("Castor", 49d)
      stars.Add(star)
      star = New StarInfo("Antares", 520d)
      stars.Add(star)
      
      stars.Sort()
      
      For Each star In stars
         Console.WriteLine(star)
      Next   
   End Sub
End Module
' The example displays the following output:
'       Sirius     (50,568,000,000,000)
'       Castor     (288,120,000,000,000)
'       Antares    (3,057,600,000,000,000)
'       Rigel      (8,232,000,000,000,000)

설명

이 오버 로드는 CompareTo 메서드 구현 된 IComparable<T>.CompareTo 메서드.This overload of the CompareTo method implements the IComparable<T>.CompareTo method. 컬렉션에서 항목을 주문 하려면 제네릭 컬렉션 개체에 의해 사용 됩니다.It is used by generic collection objects to order the items in the collection.

추가 정보

적용 대상