Tuple<T1,T2,T3,T4,T5>.IComparable.CompareTo(Object) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Jämför det aktuella Tuple<T1,T2,T3,T4,T5> objektet med ett angivet objekt och returnerar ett heltal som anger om det aktuella objektet är före, efter eller i samma position som det angivna objektet i sorteringsordningen.
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
Parametrar
- obj
- Object
Ett objekt som ska jämföras med den aktuella instansen.
Returer
Ett signerat heltal som anger den relativa positionen för den här instansen och obj i sorteringsordningen, enligt följande tabell.
| Värde | Beskrivning |
|---|---|
| Ett negativt heltal | Den här instansen föregår obj.
|
| Noll | Den här instansen och obj har samma position i sorteringsordningen.
|
| Ett positivt heltal | Den här instansen följer obj.
|
Implementeringar
Undantag
obj är inte ett Tuple<T1,T2,T3,T4,T5> objekt.
Exempel
I följande exempel skapas en matris med Tuple<T1,T2,T3,T4,T5> objekt som innehåller karriärstatistik för running backs i amerikansk professionell fotboll. De fem komponenterna består av spelarens namn, antalet matcher där han spelade, antalet bär eller försök, det totala antalet yards som vunnits och antalet touchdowns som gjorts. I exemplet visas komponenterna för varje tuppeln i matrisen i osorterad ordning, sorterar matrisen och anropar ToString sedan för att visa varje tuppeln i sorterad ordning. Utdata visar att matrisen har sorterats efter namn, vilket är den första komponenten. Observera att exemplet inte anropar IComparable.CompareTo metoden direkt. Den här metoden anropas implicit av Sort(Array) metoden för varje element i matrisen.
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)
Kommentarer
Den här medlemmen är en explicit implementering av gränssnittsmedlemmar. Den kan endast användas när instansen Tuple<T1,T2,T3,T4,T5> skickas till ett IComparable gränssnitt.
Den här metoden tillhandahåller implementeringen IComparable.CompareTo för Tuple<T1,T2,T3,T4,T5> klassen. Även om metoden kan anropas direkt, anropas den oftast av standardöverlagringar av insamlingssorteringsmetoder, till exempel Array.Sort(Array) och SortedList.Add, för att beställa medlemmar i en samling.
Caution
Metoden IComparable.CompareTo är avsedd att användas i sorteringsåtgärder. Den bör inte användas när det primära syftet med en jämförelse är att avgöra om två objekt är lika med. Om du vill avgöra om två objekt är lika med anropar du Tuple<T1,T2,T3,T4,T5>.Equals(Object) metoden.
Metoden IComparable.CompareTo(Object) använder standardobjektsjäxaren för att jämföra varje komponent.