Tuple<T1,T2,T3,T4,T5>.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,T5> 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 pengurutan.
|
Bilangan bulat positif | Instans obj ini mengikuti .
|
Penerapan
Pengecualian
obj
bukan Tuple<T1,T2,T3,T4,T5> objek.
Contoh
Contoh berikut membuat array Tuple<T1,T2,T3,T4,T5> objek yang berisi statistik karier untuk berlari kembali di sepak bola profesional Amerika. Kelima komponen tersebut terdiri dari nama pemain, jumlah game yang dimainkannya, jumlah angkutan atau upaya, jumlah total yard yang diperoleh, dan jumlah touchdown yang dicetak. Contoh 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 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()
{
// Organization of runningBacks 5-tuple:
// Component 1: Player name
// Component 2: Number of games played
// Component 3: Number of attempts (carries)
// Component 4: Number of yards gained
// Component 5: Number of touchdowns
Tuple<string, int, int, int, int>[] runningBacks =
{ Tuple.Create("Payton, Walter", 190, 3838, 16726, 110),
Tuple.Create("Sanders, Barry", 153, 3062, 15269, 99),
Tuple.Create("Brown, Jim", 118, 2359, 12312, 106),
Tuple.Create("Dickerson, Eric", 144, 2996, 13259, 90),
Tuple.Create("Faulk, Marshall", 176, 2836, 12279, 100) };
// Display the array in unsorted order.
Console.WriteLine("The values in unsorted order:");
foreach (var runningBack in runningBacks)
Console.WriteLine(runningBack.ToString());
Console.WriteLine();
// Sort the array
Array.Sort(runningBacks);
// Display the array in sorted order.
Console.WriteLine("The values in sorted order:");
foreach (var runningBack in runningBacks)
Console.WriteLine(runningBack.ToString());
}
}
// The example displays the following output:
// The values in unsorted order:
// (Payton, Walter, 190, 3838, 16726, 110)
// (Sanders, Barry, 153, 3062, 15269, 99)
// (Brown, Jim, 118, 2359, 12312, 106)
// (Dickerson, Eric, 144, 2996, 13259, 90)
// (Faulk, Marshall, 176, 2836, 12279, 100)
//
// The values in sorted order:
// (Brown, Jim, 118, 2359, 12312, 106)
// (Dickerson, Eric, 144, 2996, 13259, 90)
// (Faulk, Marshall, 176, 2836, 12279, 100)
// (Payton, Walter, 190, 3838, 16726, 110)
// (Sanders, Barry, 153, 3062, 15269, 99)
open System
// Organization of runningBacks 5-tuple:
// Component 1: Player name
// Component 2: Number of games played
// Component 3: Number of attempts (carries)
// Component 4: Number of yards gained
// Component 5: Number of touchdowns
let runningBacks =
[| Tuple.Create("Payton, Walter", 190, 3838, 16726, 110)
Tuple.Create("Sanders, Barry", 153, 3062, 15269, 99)
Tuple.Create("Brown, Jim", 118, 2359, 12312, 106)
Tuple.Create("Dickerson, Eric", 144, 2996, 13259, 90)
Tuple.Create("Faulk, Marshall", 176, 2836, 12279, 100) |]
// Display the array in unsorted order.
printfn "The values in unsorted order:"
for runningBack in runningBacks do
printfn $"{runningBack}"
printfn ""
// Sort the array
Array.Sort runningBacks
// Display the array in sorted order.
printfn "The values in sorted order:"
for runningBack in runningBacks do
printfn $"{runningBack}"
// The example displays the following output:
// The values in unsorted order:
// (Payton, Walter, 190, 3838, 16726, 110)
// (Sanders, Barry, 153, 3062, 15269, 99)
// (Brown, Jim, 118, 2359, 12312, 106)
// (Dickerson, Eric, 144, 2996, 13259, 90)
// (Faulk, Marshall, 176, 2836, 12279, 100)
//
// The values in sorted order:
// (Brown, Jim, 118, 2359, 12312, 106)
// (Dickerson, Eric, 144, 2996, 13259, 90)
// (Faulk, Marshall, 176, 2836, 12279, 100)
// (Payton, Walter, 190, 3838, 16726, 110)
// (Sanders, Barry, 153, 3062, 15269, 99)
Imports System.Collections.Generic
Module Example
Public Sub Main()
' Organization of runningBacks 5-tuple:
' Component 1: Player name
' Component 2: Number of games played
' Component 3: Number of attempts (carries)
' Component 4: Number of yards gained
' Component 5: Number of touchdowns
Dim runningBacks() =
{ Tuple.Create("Payton, Walter", 190, 3838, 16726, 110),
Tuple.Create("Sanders, Barry", 153, 3062, 15269, 99),
Tuple.Create("Brown, Jim", 118, 2359, 12312, 106),
Tuple.Create("Dickerson, Eric", 144, 2996, 13259, 90),
Tuple.Create("Faulk, Marshall", 176, 2836, 12279, 100) }
' Display the array in unsorted order.
Console.WriteLine("The values in unsorted order:")
For Each runningBack In runningBacks
Console.WriteLine(runningBack.ToString())
Next
Console.WriteLine()
' Sort the array
Array.Sort(runningBacks)
' Display the array in sorted order.
Console.WriteLine("The values in sorted order:")
For Each runningBack In runningBacks
Console.WriteLine(runningBack.ToString())
Next
End Sub
End Module
' The example displays the following output:
' The values in unsorted order:
' (Payton, Walter, 190, 3838, 16726, 110)
' (Sanders, Barry, 153, 3062, 15269, 99)
' (Brown, Jim, 118, 2359, 12312, 106)
' (Dickerson, Eric, 144, 2996, 13259, 90)
' (Faulk, Marshall, 176, 2836, 12279, 100)
'
' The values in sorted order:
' (Brown, Jim, 118, 2359, 12312, 106)
' (Dickerson, Eric, 144, 2996, 13259, 90)
' (Faulk, Marshall, 176, 2836, 12279, 100)
' (Payton, Walter, 190, 3838, 16726, 110)
' (Sanders, Barry, 153, 3062, 15269, 99)
Keterangan
Anggota ini adalah implementasi anggota antarmuka eksplisit. Ini hanya dapat digunakan ketika instans dilemparkan Tuple<T1,T2,T3,T4,T5> ke IComparable antarmuka.
Metode ini menyediakan IComparable.CompareTo implementasi untuk Tuple<T1,T2,T3,T4,T5> kelas . Meskipun metode ini dapat dipanggil secara langsung, metode ini paling sering disebut dengan 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 Tuple<T1,T2,T3,T4,T5>.Equals(Object) metode .
Metode ini IComparable.CompareTo(Object) menggunakan pembanding objek default untuk membandingkan setiap komponen.