Comparer Klas

Definitie

Vergelijkt twee objecten voor gelijkwaardigheid, waarbij tekenreeksvergelijkingen hoofdlettergevoelig zijn.

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
Overname
Comparer
Kenmerken
Implementeringen

Voorbeelden

In het volgende codevoorbeeld ziet u hoe Compare verschillende waarden worden geretourneerd, afhankelijk van de cultuur die aan de Comparercultuur is gekoppeld.

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

Opmerkingen

Deze klasse is de standaard implementatie van de IComparer interface. De CaseInsensitiveComparer klasse is de implementatie van de IComparer interface die hoofdlettergevoelige tekenreeksvergelijkingen uitvoert. System.Collections.Generic.Comparer<T> is het algemene equivalent van deze klasse.

Vergelijkingsprocedures maken gebruik van de Thread.CurrentCulture huidige thread, tenzij anders is opgegeven. Tekenreeksvergelijkingen kunnen verschillende resultaten hebben, afhankelijk van de cultuur. Zie de System.Globalization naamruimte en globalisatie en lokalisatie voor meer informatie over cultuurspecifieke vergelijkingen.

Constructors

Name Description
Comparer(CultureInfo)

Initialiseert een nieuw exemplaar van de Comparer klasse met behulp van de opgegeven CultureInfo.

Velden

Name Description
Default

Vertegenwoordigt een exemplaar dat Comparer is gekoppeld aan de CurrentCulture huidige thread. Dit veld is alleen-lezen.

DefaultInvariant

Vertegenwoordigt een exemplaar waaraan Comparer is gekoppeld InvariantCulture. Dit veld is alleen-lezen.

Methoden

Name Description
Compare(Object, Object)

Voert een hoofdlettergevoelige vergelijking van twee objecten van hetzelfde type uit en retourneert een waarde die aangeeft of de ene kleiner is dan, gelijk is aan of groter is dan de andere.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetObjectData(SerializationInfo, StreamingContext)

Hiermee wordt een SerializationInfo object gevuld met de gegevens die nodig zijn voor serialisatie.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook