System.StringComparer-Klasse

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Ein von der StringComparer Klasse abgeleitetes Objekt verkörpert zeichenfolgenbasierte Vergleichs-, Gleichheits- und Hashcodevorgänge, die sowohl die Fall- als auch kulturspezifischen Vergleichsregeln berücksichtigen. Mit der StringComparer Klasse können Sie einen typspezifischen Vergleich erstellen, um die Elemente in einer generischen Auflistung zu sortieren. Klassen wie Hashtable, Dictionary<TKey,TValue>, SortedListund SortedList<TKey,TValue> verwenden Sie die StringComparer Klasse für Sortierzwecke.

Ein Vergleichsvorgang, der durch die StringComparer Klasse dargestellt wird, ist entweder als Groß-/Kleinschreibung oder Groß-/Kleinschreibung definiert und verwendet entweder Wörter (kultursensitiv) oder Ordinalvergleichsregeln (kulturunempfindlich). Weitere Informationen zu Wort- und Ordnungsvergleichsregeln finden Sie unter System.Globalization.CompareOptions.

Hinweis

Sie können die Standardmäßige Unicode-Sortierelementtabelle, die neueste Version der Sortiergewichtstabelle, herunterladen. Die spezifische Version der Sortiergewichtstabelle hängt von der Version der auf dem System installierten internationalen Komponenten für Unicode-Bibliotheken ab. Informationen zu ICU-Versionen und den Unicode-Versionen, die durch sie implementiert werden, finden Sie unter Downloading ICU.

Für .NET Framework unter Windows können Sie die Sortiergewichtstabellen herunterladen, eine Reihe von Textdateien, die Informationen zu den Zeichenstärken enthalten, die in Sortier- und Vergleichsvorgängen verwendet werden.

Implementierte Eigenschaften

Möglicherweise sind Sie verwirrt darüber, wie Sie die StringComparer Klasseneigenschaften aufgrund eines scheinbaren Widerspruchs verwenden. Die StringComparer Klasse wird deklariert abstract (MustInherit in Visual Basic), was bedeutet, dass ihre Member nur für ein Objekt einer von der StringComparer Klasse abgeleiteten Klasse aufgerufen werden können. Der Widerspruch besteht darin, dass jede Eigenschaft der StringComparer Klasse deklariert static wird (Shared in Visual Basic), was bedeutet, dass die Eigenschaft aufgerufen werden kann, ohne zuerst eine abgeleitete Klasse zu erstellen.

Sie können eine StringComparer Eigenschaft direkt aufrufen, da jede Eigenschaft tatsächlich eine Instanz einer anonymen Klasse zurückgibt, die von der StringComparer Klasse abgeleitet wird. Folglich ist StringComparerder Typ jedes Eigenschaftswerts , der die Basisklasse der anonymen Klasse ist, nicht der Typ der anonymen Klasse selbst. Jede StringComparer Klasseneigenschaft gibt ein StringComparer Objekt zurück, das vordefinierte Groß- und Vergleichsregeln unterstützt.