War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
StringComparer-Klasse
Collapse the table of content
Expand the table of content
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

StringComparer-Klasse

Stellt einen Zeichenfolgenvergleichsvorgang dar, der bestimmte Regeln zur Groß- und Kleinschreibung und kulturbasierte bzw. Ordinalvergleichsregeln verwendet.

System.Object
  System.StringComparer

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public MustInherit Class StringComparer _
	Implements IComparer, IEqualityComparer, IComparer(Of String),  _
	IEqualityComparer(Of String)

Der StringComparer-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsStringComparerInitialisiert eine neue Instanz der StringComparer-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCurrentCultureRuft ein StringComparer-Objekt ab, das mit den Wortvergleichsregeln der aktuellen Kultur einen Zeichenfolgenvergleich mit Berücksichtigung von Groß- und Kleinschreibung ausführt.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCurrentCultureIgnoreCaseRuft ein StringComparer-Objekt ab, das Zeichenfolgenvergleiche ohne Unterscheidung der Groß- und Kleinschreibung mit den Wortvergleichsregeln der aktuellen Kultur ausführt.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkInvariantCultureRuft ein StringComparer-Objekt ab, das mit den Wortvergleichsregeln der invarianten Kultur einen Zeichenfolgenvergleich mit Berücksichtigung von Groß- und Kleinschreibung ausführt.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkInvariantCultureIgnoreCaseRuft ein StringComparer-Objekt ab, das mit den Wortvergleichsregeln der invarianten Kultur einen Zeichenfolgenvergleich ohne Berücksichtigung von Groß- und Kleinschreibung ausführt.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOrdinalRuft ein StringComparer-Objekt ab, das einen Ordinalzeichenfolgenvergleich mit Berücksichtigung der Groß- und Kleinschreibung ausführt.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOrdinalIgnoreCaseRuft ein StringComparer-Objekt ab, das einen Ordinalzeichenfolgenvergleich ohne Berücksichtigung der Groß- und Kleinschreibung ausführt.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkCompare(Object, Object)Beim Überschreiben in einer abgeleiteten Klasse wird ein Vergleich von zwei Objekten durchgeführt und eine Angabe der relativen Sortierreihenfolge zurückgegeben.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCompare(String, String)Beim Überschreiben in einer abgeleiteten Klasse wird ein Vergleich von zwei Zeichenfolgen durchgeführt und eine Angabe der relativen Sortierreihenfolge zurückgegeben.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekCreateErstellt ein StringComparer-Objekt, das Zeichenfolgen nach den Regeln einer angegebenen Kultur vergleicht.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkEquals(Object, Object)Beim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob zwei Objekte gleich sind.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(String, String)Beim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob zwei Zeichenfolgen gleich sind.
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetHashCode(Object)Ruft beim Überschreiben in einer abgeleiteten Klasse den Hashcode für das angegebene Objekt ab.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCode(String)Ruft beim Überschreiben in einer abgeleiteten Klasse den Hashcode für die angegebene Zeichenfolge ab.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIComparer.CompareVergleicht zwei Objekte und gibt über den zurückgegebenen Wert an, ob eines der Objekte kleiner, gleich oder größer als das andere Objekt ist.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIEqualityComparer.EqualsBestimmt, ob die angegebenen Objekte gleich sind.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIEqualityComparer.GetHashCodeGibt einen Hashcode für das angegebene Objekt zurück.
Zum Seitenanfang

Ein von der StringComparer-Klasse abgeleitetes Objekt enthält zeichenfolgenbasierte Vergleiche, Gleichheit und Hashcodevorgänge, die sowohl Regeln zur Groß- und Kleinschreibung als auch kulturspezifische Vergleichsregeln berücksichtigen. Sie können die StringComparer-Klasse verwenden, um einen typspezifischen Vergleich zu erstellen, um die Elemente in einer generischen Auflistung zu sortieren. Klassen wie Hashtable, Dictionary(Of TKey, TValue), SortedList und SortedList(Of TKey, TValue) verwenden die StringComparer-Klasse zum Sortieren.

Je nach Definition kann ein durch die StringComparer-Klasse dargestellter Vergleichsvorgang zwischen Groß- und Kleinschreibung unterscheiden oder nicht und entweder nach Wörtern (kulturabhängig) oder nach Ordnungszahlen (nicht kulturabhängig) vergleichen. Weitere Informationen über Vergleichsregeln nach Wörtern und Ordnungszahlen finden Sie unter System.Globalization.CompareOptions.

Implementierte Eigenschaften

Das Verwenden der StringComparer-Klasseneigenschaften erscheint auf den ersten Blick verwirrend und teilweise widersprüchlich. Die StringComparer-Klasse wird abstract deklariert (MustInherit in Visual Basic), das heißt, ihre Member können nur für ein Objekt einer Klasse aufgerufen werden, die von der StringComparer-Klasse abgeleitet wurde. Der vermeintliche Widerspruch liegt darin, dass jede Eigenschaft der StringComparer-Klasse static deklariert wird (Shared in Visual Basic), das heißt, die Eigenschaft kann aufgerufen werden, ohne zuerst eine abgeleitete Klasse zu erstellen.

Sie können eine StringComparer-Eigenschaft direkt aufrufen, weil jede Eigenschaft tatsächlich eine Instanz einer anonymen Klasse zurückgibt, die von der StringComparer-Klasse abgeleitet wurde. Der Typ für jeden Eigenschaftswert ist daher StringComparer, das heißt, nicht der Typ der anonymen Klasse selbst, sondern die Basisklasse der anonymen Klasse. Jede StringComparer-Klasseneigenschaft gibt ein StringComparer-Objekt zurück, das vordefinierte Regeln zur Groß- und Kleinschreibung und für Vergleiche unterstützt.

Im folgenden Codebeispiel werden die Eigenschaften und die Create-Methode der StringComparer-Klasse veranschaulicht. Im Beispiel wird veranschaulicht, wie verschiedene StringComparer-Objekte drei Versionen des lateinischen Buchstaben I sortieren.


' This code example demonstrates members of the System.StringComparer class.

Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Globalization
Imports System.Threading

Class Sample

    Public Shared Sub Main() 
        ' Create a list of string.
        Dim list As New List(Of String) 

        ' Get the tr-TR (Turkish-Turkey) culture.
        Dim turkish As New CultureInfo("tr-TR")

        ' Get the culture that is associated with the current thread.
        Dim thisCulture As CultureInfo = Thread.CurrentThread.CurrentCulture

        ' Get the standard StringComparers.
        Dim invCmp As StringComparer = StringComparer.InvariantCulture
        Dim invICCmp As StringComparer = StringComparer.InvariantCultureIgnoreCase
        Dim currCmp As StringComparer = StringComparer.CurrentCulture
        Dim currICCmp As StringComparer = StringComparer.CurrentCultureIgnoreCase
        Dim ordCmp As StringComparer = StringComparer.Ordinal
        Dim ordICCmp As StringComparer = StringComparer.OrdinalIgnoreCase

        ' Create a StringComparer that uses the Turkish culture and ignores case.
        Dim turkICComp As StringComparer = StringComparer.Create(turkish, True)

        ' Define three strings consisting of different versions of the letter I.
        ' LATIN CAPITAL LETTER I (U+0049)
        Dim capitalLetterI As String = "I"

        ' LATIN SMALL LETTER I (U+0069)
        Dim smallLetterI As String = "i"

        ' LATIN SMALL LETTER DOTLESS I (U+0131)
        Dim smallLetterDotlessI As String = "ı"

        ' Add the three strings to the list.
        list.Add(capitalLetterI)
        list.Add(smallLetterI)
        list.Add(smallLetterDotlessI)

        ' Display the original list order.
        Display(list, "The original order of the list entries...")

        ' Sort the list using the invariant culture.
        list.Sort(invCmp)
        Display(list, "Invariant culture...")
        list.Sort(invICCmp)
        Display(list, "Invariant culture, ignore case...")

        ' Sort the list using the current culture.
        Console.WriteLine("The current culture is ""{0}"".", thisCulture.Name)
        list.Sort(currCmp)
        Display(list, "Current culture...")
        list.Sort(currICCmp)
        Display(list, "Current culture, ignore case...")

        ' Sort the list using the ordinal value of the character code points.
        list.Sort(ordCmp)
        Display(list, "Ordinal...")
        list.Sort(ordICCmp)
        Display(list, "Ordinal, ignore case...")

        ' Sort the list using the Turkish culture, which treats LATIN SMALL LETTER 
        ' DOTLESS I differently than LATIN SMALL LETTER I.
        list.Sort(turkICComp)
        Display(list, "Turkish culture, ignore case...")

    End Sub 'Main

    Public Shared Sub Display(ByVal lst As List(Of String), ByVal title As String)
        Dim c As Char
        Dim s As String
        Dim codePoint As Integer

        Console.WriteLine(title)
        For Each s In lst
            c = s(0)
            codePoint = Convert.ToInt32(c)
            Console.WriteLine("0x{0:x}", codePoint)
        Next s
        Console.WriteLine()
    End Sub 'Display
End Class 'Sample '

'This code example produces the following results:
'
'The original order of the list entries...
'0x49
'0x69
'0x131
'
'Invariant culture...
'0x69
'0x49
'0x131
'
'Invariant culture, ignore case...
'0x49
'0x69
'0x131
'
'The current culture is "en-US".
'Current culture...
'0x69
'0x49
'0x131
'
'Current culture, ignore case...
'0x49
'0x69
'0x131
'
'Ordinal...
'0x49
'0x69
'0x131
'
'Ordinal, ignore case...
'0x69
'0x49
'0x131
'
'Turkish culture, ignore case...
'0x131
'0x49
'0x69
'


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft