Leer en inglés

Compartir a través de


Comparer Clase

Definición

Compara dos objetos para ver si son iguales teniendo en cuenta la distinción entre mayúsculas y minúsculas de las cadenas.

public sealed class Comparer : System.Collections.IComparer
public sealed class Comparer : System.Collections.IComparer, System.Runtime.Serialization.ISerializable
[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
Herencia
Comparer
Atributos
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo Compare devuelve valores diferentes en función de la referencia cultural asociada 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

*/

Comentarios

Esta clase es la implementación predeterminada de la IComparer interfaz. La CaseInsensitiveComparer clase es la implementación de la IComparer interfaz que realiza comparaciones de cadenas que no distinguen mayúsculas de minúsculas. System.Collections.Generic.Comparer<T> es el equivalente genérico de esta clase.

Los procedimientos de comparación usan el Thread.CurrentCulture del subproceso actual a menos que se especifique lo contrario. Las comparaciones de cadenas pueden tener resultados diferentes en función de la referencia cultural. Para obtener más información sobre las comparaciones específicas de la referencia cultural, consulte el espacio de nombres y globalización System.Globalizationy la localización.

Constructores

Comparer(CultureInfo)

Inicializa una nueva instancia de la clase Comparer utilizando la clase CultureInfo especificada.

Campos

Default

Representa una instancia de Comparer que está asociada a la propiedad CurrentCulture del subproceso actual. Este campo es de solo lectura.

DefaultInvariant

Representa una instancia de Comparer que está asociada a la propiedad InvariantCulture. Este campo es de solo lectura.

Métodos

Compare(Object, Object)

Realiza una comparación distinguiendo entre mayúsculas y minúsculas de dos objetos del mismo tipo y devuelve un valor que indica si uno es menor, igual o mayor que el otro.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsoletos.

Rellena un objeto SerializationInfo con los datos necesarios para la serialización.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Consulte también