Tuple<T1,T2,T3,T4>.IComparable.CompareTo(Object) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membandingkan objek saat ini Tuple<T1,T2,T3,T4> dengan objek tertentu dan mengembalikan bilangan bulat yang menunjukkan apakah objek saat ini sebelum, sesudah, atau dalam posisi yang sama dengan objek yang ditentukan dalam urutan pengurutan.
virtual int System.IComparable.CompareTo(System::Object ^ obj) = IComparable::CompareTo;
int IComparable.CompareTo (object obj);
abstract member System.IComparable.CompareTo : obj -> int
override this.System.IComparable.CompareTo : obj -> int
Function CompareTo (obj As Object) As Integer Implements IComparable.CompareTo
Parameter
- obj
- Object
Objek untuk dibandingkan dengan instans saat ini.
Mengembalikan
Bilangan bulat bertanda tangan yang menunjukkan posisi relatif instans ini dan obj
dalam urutan pengurutan, seperti yang ditunjukkan dalam tabel berikut.
Nilai | Deskripsi |
---|---|
Bilangan bulat negatif | Instans ini mendahului obj .
|
Nol | Instans ini dan obj memiliki posisi yang sama dalam urutan sortir.
|
Bilangan bulat positif | Instans obj ini mengikuti .
|
Penerapan
Pengecualian
obj
bukan objek Tuple<T1,T2,T3,T4> .
Contoh
Contoh berikut membuat array Tuple<T1,T2,T3,T4> objek yang komponennya terdiri dari nama pitcher bisbol, jumlah inning yang di-pitch, dan jumlah hit dan eksekusi yang diperoleh yang diberikan. Ini menampilkan komponen setiap tuple dalam array dalam urutan yang tidak diurutkan, mengurutkan array, lalu memanggil ToString untuk menampilkan setiap tuple dalam urutan yang diurutkan. Output menunjukkan bahwa array telah diurutkan menurut nama, yang merupakan komponen pertama. Perhatikan bahwa contoh tidak secara langsung memanggil IComparable.CompareTo(Object) metode . Metode ini dipanggil secara implisit oleh Sort(Array) metode untuk setiap elemen dalam array.
using System;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
Tuple<string, decimal, int, int>[] pitchers =
{ Tuple.Create("McHale, Joe", 240.1m, 221, 96),
Tuple.Create("Paul, Dave", 233.1m, 231, 84),
Tuple.Create("Williams, Mike", 193.2m, 183, 86),
Tuple.Create("Blair, Jack", 168.1m, 146, 65),
Tuple.Create("Henry, Walt", 140.1m, 96, 30),
Tuple.Create("Lee, Adam", 137.2m, 109, 45),
Tuple.Create("Rohr, Don", 101.0m, 110, 42) };
// Display the array in unsorted order.
Console.WriteLine("The values in unsorted order:");
foreach (var pitcher in pitchers)
Console.WriteLine(pitcher.ToString());
Console.WriteLine();
// Sort the array
Array.Sort(pitchers);
// Display the array in sorted order.
Console.WriteLine("The values in sorted order:");
foreach (var pitcher in pitchers)
Console.WriteLine(pitcher.ToString());
}
}
// The example displays the following output;
// The values in unsorted order:
// (McHale, Joe, 240.1, 221, 96)
// (Paul, Dave, 233.1, 231, 84)
// (Williams, Mike, 193.2, 183, 86)
// (Blair, Jack, 168.1, 146, 65)
// (Henry, Walt, 140.1, 96, 30)
// (Lee, Adam, 137.2, 109, 45)
// (Rohr, Don, 101, 110, 42)
//
// The values in sorted order:
// (Blair, Jack, 168.1, 146, 65)
// (Henry, Walt, 140.1, 96, 30)
// (Lee, Adam, 137.2, 109, 45)
// (McHale, Joe, 240.1, 221, 96)
// (Paul, Dave, 233.1, 231, 84)
// (Rohr, Don, 101, 110, 42)
// (Williams, Mike, 193.2, 183, 86)
open System
let pitchers =
[| Tuple.Create("McHale, Joe", 240.1m, 221, 96)
Tuple.Create("Paul, Dave", 233.1m, 231, 84)
Tuple.Create("Williams, Mike", 193.2m, 183, 86)
Tuple.Create("Blair, Jack", 168.1m, 146, 65)
Tuple.Create("Henry, Walt", 140.1m, 96, 30)
Tuple.Create("Lee, Adam", 137.2m, 109, 45)
Tuple.Create("Rohr, Don", 101.0m, 110, 42) |]
// Display the array in unsorted order.
printfn "The values in unsorted order:"
for pitcher in pitchers do
printfn $"{pitcher}"
printfn ""
// Sort the array
Array.Sort pitchers
// Display the array in sorted order.
printfn "The values in sorted order:"
for pitcher in pitchers do
printfn $"{pitcher}"
// The example displays the following output
// The values in unsorted order:
// (McHale, Joe, 240.1, 221, 96)
// (Paul, Dave, 233.1, 231, 84)
// (Williams, Mike, 193.2, 183, 86)
// (Blair, Jack, 168.1, 146, 65)
// (Henry, Walt, 140.1, 96, 30)
// (Lee, Adam, 137.2, 109, 45)
// (Rohr, Don, 101, 110, 42)
//
// The values in sorted order:
// (Blair, Jack, 168.1, 146, 65)
// (Henry, Walt, 140.1, 96, 30)
// (Lee, Adam, 137.2, 109, 45)
// (McHale, Joe, 240.1, 221, 96)
// (Paul, Dave, 233.1, 231, 84)
// (Rohr, Don, 101, 110, 42)
// (Williams, Mike, 193.2, 183, 86)
Imports System.Collections.Generic
Module Example
Public Sub Main()
Dim pitchers() =
{ Tuple.Create("McHale, Joe", 240.1d, 221, 96),
Tuple.Create("Paul, Dave", 233.1d, 231, 84),
Tuple.Create("Williams, Mike", 193.2d, 183, 86),
Tuple.Create("Blair, Jack", 168.1d, 146, 65),
Tuple.Create("Henry, Walt", 140.1d, 96, 30),
Tuple.Create("Lee, Adam", 137.2d, 109, 45),
Tuple.Create("Rohr, Don", 101.0d, 110, 42) }
' Display the array in unsorted order.
Console.WriteLine("The values in unsorted order:")
For Each pitcher In pitchers
Console.WriteLine(pitcher.ToString())
Next
Console.WriteLine()
' Sort the array
Array.Sort(pitchers)
' Display the array in sorted order.
Console.WriteLine("The values in sorted order:")
For Each pitcher In pitchers
Console.WriteLine(pitcher.ToString())
Next
End Sub
End Module
' The example displays the following output:
' The values in unsorted order:
' (McHale, Joe, 240.1, 221, 96)
' (Paul, Dave, 233.1, 231, 84)
' (Williams, Mike, 193.2, 183, 86)
' (Blair, Jack, 168.1, 146, 65)
' (Henry, Walt, 140.1, 96, 30)
' (Lee, Adam, 137.2, 109, 45)
' (Rohr, Don, 101, 110, 42)
'
' The values in sorted order:
' (Blair, Jack, 168.1, 146, 65)
' (Henry, Walt, 140.1, 96, 30)
' (Lee, Adam, 137.2, 109, 45)
' (McHale, Joe, 240.1, 221, 96)
' (Paul, Dave, 233.1, 231, 84)
' (Rohr, Don, 101, 110, 42)
' (Williams, Mike, 193.2, 183, 86)
Keterangan
Anggota ini adalah implementasi anggota antarmuka eksplisit. Ini hanya dapat digunakan ketika instans dilemparkan Tuple<T1,T2,T3,T4> ke IComparable antarmuka.
Metode ini menyediakan IComparable.CompareTo implementasi untuk Tuple<T1,T2,T3,T4> kelas . Meskipun metode ini dapat dipanggil secara langsung, metode ini paling sering dipanggil oleh kelebihan beban default metode pengurutan koleksi, seperti Array.Sort(Array) dan SortedList.Add, untuk mengurutkan anggota koleksi.
Perhatian
Metode IComparable.CompareTo ini ditujukan untuk digunakan dalam operasi pengurutan. Ini tidak boleh digunakan ketika tujuan utama perbandingan adalah untuk menentukan apakah dua objek sama. Untuk menentukan apakah dua objek sama, panggil Equals metode .
Metode ini IComparable.CompareTo menggunakan pembanding objek default untuk membandingkan setiap komponen.