Comparer Classe
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 deux objets pour l’équivalence, où les comparaisons de chaînes respectent la casse.
public ref class Comparer sealed : System::Collections::IComparer
public ref class Comparer sealed : System::Collections::IComparer, System::Runtime::Serialization::ISerializable
public sealed class Comparer : System.Collections.IComparer
[System.Serializable]
public sealed class Comparer : System.Collections.IComparer, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Comparer : System.Collections.IComparer, System.Runtime.Serialization.ISerializable
public sealed class Comparer : System.Collections.IComparer, System.Runtime.Serialization.ISerializable
type Comparer = class
interface IComparer
[<System.Serializable>]
type Comparer = class
interface IComparer
interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Comparer = class
interface IComparer
interface ISerializable
type Comparer = class
interface IComparer
interface ISerializable
Public NotInheritable Class Comparer
Implements IComparer
Public NotInheritable Class Comparer
Implements IComparer, ISerializable
- Héritage
-
Comparer
- Attributs
- Implémente
Exemples
L’exemple de code suivant montre comment Compare retourner différentes valeurs en fonction de la culture associée au Comparer.
using System;
using System.Collections;
using System.Globalization;
public class SamplesComparer {
public static void Main() {
// Creates the strings to compare.
String str1 = "llegar";
String str2 = "lugar";
Console.WriteLine( "Comparing \"{0}\" and \"{1}\" ...", str1, str2 );
// Uses the DefaultInvariant Comparer.
Console.WriteLine( " Invariant Comparer: {0}", Comparer.DefaultInvariant.Compare( str1, str2 ) );
// Uses the Comparer based on the culture "es-ES" (Spanish - Spain, international sort).
Comparer myCompIntl = new Comparer( new CultureInfo( "es-ES", false ) );
Console.WriteLine( " International Sort: {0}", myCompIntl.Compare( str1, str2 ) );
// Uses the Comparer based on the culture identifier 0x040A (Spanish - Spain, traditional sort).
Comparer myCompTrad = new Comparer( new CultureInfo( 0x040A, false ) );
Console.WriteLine( " Traditional Sort : {0}", myCompTrad.Compare( str1, str2 ) );
}
}
/*
This code produces the following output.
Comparing "llegar" and "lugar" ...
Invariant Comparer: -1
International Sort: -1
Traditional Sort : 1
*/
Imports System.Collections
Imports System.Globalization
Public Class SamplesComparer
Public Shared Sub Main()
' Creates the strings to compare.
Dim str1 As [String] = "llegar"
Dim str2 As [String] = "lugar"
Console.WriteLine("Comparing ""{0}"" and ""{1}"" ...", str1, str2)
' Uses the DefaultInvariant Comparer.
Console.WriteLine(" Invariant Comparer: {0}", Comparer.DefaultInvariant.Compare(str1, str2))
' Uses the Comparer based on the culture "es-ES" (Spanish - Spain, international sort).
Dim myCompIntl As New Comparer(New CultureInfo("es-ES", False))
Console.WriteLine(" International Sort: {0}", myCompIntl.Compare(str1, str2))
' Uses the Comparer based on the culture identifier 0x040A (Spanish - Spain, traditional sort).
Dim myCompTrad As New Comparer(New CultureInfo(&H40A, False))
Console.WriteLine(" Traditional Sort : {0}", myCompTrad.Compare(str1, str2))
End Sub
End Class
'This code produces the following output.
'
'Comparing "llegar" and "lugar" ...
' Invariant Comparer: -1
' International Sort: -1
' Traditional Sort : 1
Remarques
Cette classe est l’implémentation par défaut de l’interface IComparer . La CaseInsensitiveComparer classe est l’implémentation de l’interface qui effectue des comparaisons de chaînes qui ne respectent pas la IComparer casse. System.Collections.Generic.Comparer<T> est l’équivalent générique de cette classe.
Les procédures de comparaison utilisent le Thread.CurrentCulture thread actuel, sauf indication contraire. Les comparaisons de chaînes peuvent avoir des résultats différents en fonction de la culture. Pour plus d’informations sur les comparaisons propres à la culture, consultez l’espace de noms et la System.Globalizationglobalisation et la localisation.
Constructeurs
| Nom | Description |
|---|---|
| Comparer(CultureInfo) |
Initialise une nouvelle instance de la Comparer classe à l’aide du .CultureInfo |
Champs
| Nom | Description |
|---|---|
| Default |
Représente une instance associée Comparer au CurrentCulture thread actuel. Ce champ est en lecture seule. |
| DefaultInvariant |
Représente une instance associée Comparer à InvariantCulture. Ce champ est en lecture seule. |
Méthodes
| Nom | Description |
|---|---|
| Compare(Object, Object) |
Effectue une comparaison sensible à la casse de deux objets du même type et retourne une valeur indiquant si une valeur est inférieure, égale ou supérieure à l’autre. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Remplit un SerializationInfo objet avec les données requises pour la sérialisation. |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |