Baca dalam bahasa Inggris

Bagikan melalui


BigInteger.CompareTo Metode

Definisi

Membandingkan nilai instans ini dengan nilai lain dan mengembalikan bilangan bulat yang menunjukkan apakah nilai instans ini kurang dari, sama dengan, atau lebih besar dari nilai lainnya.

Overload

CompareTo(Int64)

Membandingkan instans ini dengan bilangan bulat 64-bit yang ditandatangani dan mengembalikan bilangan bulat yang menunjukkan apakah nilai instans ini kurang dari, sama dengan, atau lebih besar dari nilai bilangan bulat 64-bit yang ditandatangani.

CompareTo(BigInteger)

Membandingkan instans ini dengan detik BigInteger dan mengembalikan bilangan bulat yang menunjukkan apakah nilai instans ini kurang dari, sama dengan, atau lebih besar dari nilai objek yang ditentukan.

CompareTo(Object)

Membandingkan instans ini dengan objek tertentu dan mengembalikan bilangan bulat yang menunjukkan apakah nilai instans ini kurang dari, sama dengan, atau lebih besar dari nilai objek yang ditentukan.

CompareTo(UInt64)

Membandingkan instans ini dengan bilangan bulat 64-bit yang tidak ditandatangani dan mengembalikan bilangan bulat yang menunjukkan apakah nilai instans ini kurang dari, sama dengan, atau lebih besar dari nilai bilangan bulat 64-bit yang tidak ditandatangani.

CompareTo(Int64)

Sumber:
BigInteger.cs
Sumber:
BigInteger.cs
Sumber:
BigInteger.cs

Membandingkan instans ini dengan bilangan bulat 64-bit yang ditandatangani dan mengembalikan bilangan bulat yang menunjukkan apakah nilai instans ini kurang dari, sama dengan, atau lebih besar dari nilai bilangan bulat 64-bit yang ditandatangani.

public int CompareTo(long other);

Parameter

other
Int64

Bilangan bulat 64-bit yang ditandatangani untuk dibandingkan.

Mengembalikan

Nilai bilangan bulat bertanda tangan yang menunjukkan hubungan instans ini ke other, seperti yang ditunjukkan dalam tabel berikut.

Mengembalikan nilai Deskripsi
Kurang dari nol Instans saat ini kurang dari other.
Nol Instans othersaat ini sama dengan .
Lebih besar dari nol Instans saat ini lebih besar dari other.

Contoh

Contoh berikut mengilustrasikan hasil pemanggilan CompareTo(Int64) metode dengan nilai integral.

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

Keterangan

Jika other adalah Bytenilai , , Int32Int16, SByte, UInt16, atau UInt32 , secara implisit dikonversi ke Int64 nilai ketika CompareTo(Int64) metode dipanggil.

Berlaku untuk

CompareTo(BigInteger)

Sumber:
BigInteger.cs
Sumber:
BigInteger.cs
Sumber:
BigInteger.cs

Membandingkan instans ini dengan detik BigInteger dan mengembalikan bilangan bulat yang menunjukkan apakah nilai instans ini kurang dari, sama dengan, atau lebih besar dari nilai objek yang ditentukan.

public int CompareTo(System.Numerics.BigInteger other);

Parameter

other
BigInteger

Objek yang akan dibandingkan.

Mengembalikan

Nilai bilangan bulat bertanda tangan yang menunjukkan hubungan instans ini ke other, seperti yang ditunjukkan dalam tabel berikut.

Mengembalikan nilai Deskripsi
Kurang dari nol Instans saat ini kurang dari other.
Nol Instans othersaat ini sama dengan .
Lebih besar dari nol Instans saat ini lebih besar dari other.

Penerapan

Contoh

Contoh berikut mengilustrasikan penggunaan CompareTo(BigInteger) metode untuk memesan daftar StarInfo objek. Setiap StarInfo objek memberikan informasi tentang nama star dan jaraknya dari Bumi dalam mil. StarInfo IComparable<T> mengimplementasikan antarmuka, yang memungkinkan StarInfo objek diurutkan berdasarkan kelas koleksi generik. Implementasinya IComparable<T>.CompareTo hanya membungkus panggilan ke 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);
   }
}

Kode berikut kemudian membuat instans empat StarInfo objek dan menyimpannya dalam objek generik List<T> . Setelah metode dipanggil List<T>.Sort , StarInfo objek ditampilkan dalam urutan jaraknya dari Bumi.

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)

Keterangan

Kelebihan beban CompareTo metode ini mengimplementasikan IComparable<T>.CompareTo metode . Ini digunakan oleh objek koleksi generik untuk memesan item dalam koleksi.

Lihat juga

Berlaku untuk

CompareTo(Object)

Sumber:
BigInteger.cs
Sumber:
BigInteger.cs
Sumber:
BigInteger.cs

Membandingkan instans ini dengan objek tertentu dan mengembalikan bilangan bulat yang menunjukkan apakah nilai instans ini kurang dari, sama dengan, atau lebih besar dari nilai objek yang ditentukan.

public int CompareTo(object? obj);
public int CompareTo(object obj);

Parameter

obj
Object

Objek yang akan dibandingkan.

Mengembalikan

Bilangan bulat bertanda tangan yang menunjukkan hubungan instans saat ini dengan obj parameter , seperti yang ditunjukkan dalam tabel berikut.

Mengembalikan nilai Deskripsi
Kurang dari nol Instans saat ini kurang dari obj.
Nol Instans objsaat ini sama dengan .
Lebih besar dari nol Instans saat ini lebih besar dari obj, atau parameternya obj adalah null.

Penerapan

Pengecualian

Contoh

Contoh berikut memanggil CompareTo(Object) metode untuk membandingkan BigInteger nilai dengan setiap elemen dalam array objek:

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

Keterangan

Kelebihan beban CompareTo metode ini mengimplementasikan IComparable.CompareTo metode . Ini digunakan oleh objek koleksi non-generik untuk memesan item dalam koleksi.

Parameter obj harus salah satu dari yang berikut ini:

  • Objek yang jenis run-time-nya adalah BigInteger.

  • Variabel Object yang nilainya adalah null. Jika nilai obj parameter adalah null, metode mengembalikan 1, yang menunjukkan bahwa instans saat ini lebih besar dari obj.

Lihat juga

Berlaku untuk

CompareTo(UInt64)

Sumber:
BigInteger.cs
Sumber:
BigInteger.cs
Sumber:
BigInteger.cs

Penting

API ini bukan kompatibel CLS.

Membandingkan instans ini dengan bilangan bulat 64-bit yang tidak ditandatangani dan mengembalikan bilangan bulat yang menunjukkan apakah nilai instans ini kurang dari, sama dengan, atau lebih besar dari nilai bilangan bulat 64-bit yang tidak ditandatangani.

[System.CLSCompliant(false)]
public int CompareTo(ulong other);

Parameter

other
UInt64

Bilangan bulat 64-bit yang tidak ditandatangani untuk dibandingkan.

Mengembalikan

Bilangan bulat bertanda tangan yang menunjukkan nilai relatif instans ini dan other, seperti yang ditunjukkan dalam tabel berikut.

Mengembalikan nilaiDeskripsi
Kurang dari nolInstans saat ini kurang dari other.
NolInstans othersaat ini sama dengan .
Lebih besar dari nolInstans saat ini lebih besar dari other.

Atribut

Berlaku untuk