Comparer Classe

Definizione

Confronta due oggetti per l'equivalenza, in cui i confronti tra stringhe fanno distinzione tra maiuscole e minuscole.

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
Ereditarietà
Comparer
Attributi
Implementazioni

Esempio

Nell'esempio di codice seguente viene illustrato come Compare restituisce valori diversi a seconda delle impostazioni cultura associate a 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

Commenti

Questa classe è l'implementazione predefinita dell'interfaccia IComparer . La CaseInsensitiveComparer classe è l'implementazione dell'interfaccia IComparer che esegue confronti di stringhe senza distinzione tra maiuscole e minuscole. System.Collections.Generic.Comparer<T> è l'equivalente generico di questa classe.

Le procedure di confronto utilizzano l'oggetto Thread.CurrentCulture del thread corrente, a meno che non sia specificato diversamente. I confronti tra stringhe possono avere risultati diversi a seconda delle impostazioni cultura. Per altre informazioni sui confronti specifici delle impostazioni cultura, vedere lo spazio dei nomi e la System.Globalizationglobalizzazione e la localizzazione.

Costruttori

Nome Descrizione
Comparer(CultureInfo)

Inizializza una nuova istanza della Comparer classe utilizzando l'oggetto specificato CultureInfo.

Campi

Nome Descrizione
Default

Rappresenta un'istanza di Comparer associata all'oggetto CurrentCulture del thread corrente. Questo campo è di sola lettura.

DefaultInvariant

Rappresenta un'istanza di Comparer associata a InvariantCulture. Questo campo è di sola lettura.

Metodi

Nome Descrizione
Compare(Object, Object)

Esegue un confronto con distinzione tra maiuscole e minuscole di due oggetti dello stesso tipo e restituisce un valore che indica se uno è minore, uguale o maggiore dell'altro.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)

Popola un SerializationInfo oggetto con i dati necessari per la serializzazione.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche