Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.IComparable.CompareTo(Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Compare l’objet actuel Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> à un objet spécifié et retourne un entier qui indique si l’objet actuel est avant, après ou dans la même position que l’objet spécifié dans l’ordre de tri.
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
Paramètres
- obj
- Object
Objet à comparer à l’instance actuelle.
Retours
Entier signé qui indique la position relative de cette instance et obj dans l’ordre de tri, comme indiqué dans le tableau suivant.
| Valeur | Description |
|---|---|
| Entier négatif | Cette instance précède obj.
|
| Zéro | Cette instance a obj la même position dans l’ordre de tri.
|
| Entier positif | Cette instance suit obj.
|
Implémente
Exceptions
obj n’est pas un Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objet.
Exemples
L’exemple suivant crée un tableau d’octuples dont les composants sont des entiers qui contiennent une plage de nombres premiers. L’exemple affiche les éléments du tableau dans l’ordre non trié, trie le tableau, puis affiche le tableau dans l’ordre trié. La sortie indique que le tableau a été trié par Item1, ou par le premier composant du tuple. Notez que l’exemple n’appelle pas directement la IComparable.CompareTo(Object) méthode. Cette méthode est appelée implicitement par la Sort(Array) méthode de chaque élément du tableau.
using System;
public class Example
{
public static void Main()
{
// Create array of 8-tuple objects containing prime numbers.
Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32, Tuple<Int32>>[] primes =
{ new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19)),
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(23, 29, 31, 37, 41, 43, 47, new Tuple<Int32>(55)),
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(3, 2, 5, 7, 11, 13, 17, new Tuple<Int32>(19)) };
// Display 8-tuples in unsorted order.
foreach (var prime in primes)
Console.WriteLine(prime.ToString());
Console.WriteLine();
// Sort the array and display its 8-tuples.
Array.Sort(primes);
foreach (var prime in primes)
Console.WriteLine(prime.ToString());
}
}
// The example displays the following output:
// (2, 3, 5, 7, 11, 13, 17, 19)
// (23, 29, 31, 37, 41, 43, 47, 55)
// (3, 2, 5, 7, 11, 13, 17, 19)
//
// (2, 3, 5, 7, 11, 13, 17, 19)
// (3, 2, 5, 7, 11, 13, 17, 19)
// (23, 29, 31, 37, 41, 43, 47, 55)
open System
// Create array of 8-tuple objects containing prime numbers.
let primes =
[| new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19))
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(23, 29, 31, 37, 41, 43, 47, new Tuple<Int32>(55))
new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple<Int32>>(3, 2, 5, 7, 11, 13, 17, new Tuple<Int32>(19)) |]
// Display 8-tuples in unsorted order.
for prime in primes do
printfn $"{prime}"
printfn ""
// Sort the array and display its 8-tuples.
Array.Sort primes
for prime in primes do
printfn $"{prime}"
// The example displays the following output:
// (2, 3, 5, 7, 11, 13, 17, 19)
// (23, 29, 31, 37, 41, 43, 47, 55)
// (3, 2, 5, 7, 11, 13, 17, 19)
//
// (2, 3, 5, 7, 11, 13, 17, 19)
// (3, 2, 5, 7, 11, 13, 17, 19)
// (23, 29, 31, 37, 41, 43, 47, 55)
Module Example
Public Sub Main()
' Create array of 8-tuple objects containing prime numbers.
Dim primes() = { New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple(Of Int32)) (2, 3, 5, 7, 11, 13, 17,
New Tuple(Of Int32)(19)),
New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple(Of Int32)) (23, 29, 31, 37, 41, 43, 47,
New Tuple(Of Int32)(55)),
New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32,
Tuple(Of Int32)) (3, 2, 5, 7, 11, 13, 17,
New Tuple(Of Int32)(19)) }
' Display 8-tuples in unsorted order.
For Each prime In primes
Console.WriteLine(prime.ToString())
Next
Console.WriteLine()
' Sort the array and display its 8-tuples.
Array.Sort(primes)
For Each prime In primes
Console.WriteLine(prime.ToString())
Next
End Sub
End Module
' The example displays the following output:
' (2, 3, 5, 7, 11, 13, 17, 19)
' (23, 29, 31, 37, 41, 43, 47, 55)
' (3, 2, 5, 7, 11, 13, 17, 19)
'
' (2, 3, 5, 7, 11, 13, 17, 19)
' (3, 2, 5, 7, 11, 13, 17, 19)
' (23, 29, 31, 37, 41, 43, 47, 55)
Remarques
Ce membre est une implémentation explicite de membre d’interface. Elle ne peut être utilisée que lorsque l’instance Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> est convertie en IComparable interface.
Cette méthode fournit l’implémentation IComparable.CompareTo de la Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> classe. Bien que la méthode puisse être appelée directement, elle est généralement appelée par les surcharges par défaut des méthodes de tri de collection, telles que Array.Sort(Array) et SortedList.Add, pour classer les membres d’une collection.
Avertissement
La IComparable.CompareTo méthode est destinée à être utilisée dans les opérations de tri. Il ne doit pas être utilisé lorsque l’objectif principal d’une comparaison est de déterminer si deux objets sont égaux. Pour déterminer si deux objets sont égaux, appelez la Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Equals(Object) méthode.
Cette méthode utilise le comparateur d’objets par défaut pour comparer chaque composant.