Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.
Konventionen zum Vergleichen und Sortieren von Daten variieren von Kultur zu Kultur. Die Sortierreihenfolge kann beispielsweise auf Phonetik oder auf der visuellen Darstellung von Zeichen basieren. In ostasiatischen Sprachen werden Zeichen anhand der Anzahl der Striche und der Radikale der Ideogramme sortiert. Die Sortierung hängt auch von der Reihenfolge der Sprachen und Kulturen ab, die für das Alphabet verwendet werden. Die dänische Sprache weist beispielsweise ein "Æ"-Zeichen auf, das nach "Z" im Alphabet sortiert wird. Darüber hinaus kann bei Vergleichen zwischen Groß- und Kleinschreibung unterschieden werden, und auch die Regeln für Groß-/Kleinschreibung können sich je nach Kultur unterscheiden. Die CompareInfo Klasse ist für die Aufrechterhaltung dieser kultursensiblen Zeichenfolgenvergleichsdaten und für die Durchführung von Kultursensiblen Zeichenfolgenvorgängen verantwortlich.
In der Regel müssen Sie ein CompareInfo Objekt nicht direkt instanziieren, da ein Objekt implizit von allen nicht ordinalen Zeichenfolgenvergleichsvorgängen verwendet wird, einschließlich Aufrufe der String.Compare Methode. Wenn Sie jedoch ein CompareInfo Objekt abrufen möchten, können Sie es auf eine der folgenden Arten ausführen:
Durch Abrufen des Werts der CultureInfo.CompareInfo Eigenschaft für eine bestimmte Kultur.
Durch Aufrufen der statischen Methode GetCompareInfo mit einem Kulturnamen. Dies ermöglicht den spät gebundenen Zugriff auf ein CompareInfo Objekt.
Ignorierte Suchwerte
Zeichensätze enthalten ignorierbare Zeichen, bei denen es sich um Zeichen handelt, die beim Durchführen eines sprachlichen oder kultursensitiven Vergleichs nicht berücksichtigt werden. Vergleichsmethoden wie IndexOf und LastIndexOf berücksichtigen solche Zeichen nicht, wenn sie einen kultursensitiven Vergleich durchführen. Zu den ignorablen Zeichen gehören:
String.Empty. Kultursensitive Vergleichsmethoden finden immer eine leere Zeichenfolge am Anfang (Index Null) der durchsuchten Zeichenfolge.
Ein Zeichen oder eine Zeichenfolge, die aus Zeichen mit Codepunkten besteht, die im Vorgang aufgrund von Vergleichsoptionen nicht berücksichtigt werden. Insbesondere die Optionen CompareOptions.IgnoreNonSpace und CompareOptions.IgnoreSymbols führen zu Suchvorgängen, bei denen Symbole und kombinierte Zeichen ohne Zwischenraum ignoriert werden.
Eine Zeichenfolge mit Codepunkten, die keine sprachliche Bedeutung haben. Beispielsweise wird ein weicher Bindestrich (U+00AD) immer bei einem kultursensiblen Zeichenfolgenvergleich ignoriert.
Sicherheitsüberlegungen
Wenn eine Sicherheitsentscheidung von einem Zeichenfolgenvergleich oder einer Falländerung abhängt, sollten Sie die InvariantCulture Eigenschaft verwenden, um sicherzustellen, dass das Verhalten konsistent ist, unabhängig von den Kultureinstellungen des Betriebssystems.
Hinweis
Wenn möglich, sollten Sie Zeichenfolgenvergleichsmethoden verwenden, die über einen Parameter vom Typ CompareOptions verfügen, um die Art des erwarteten Vergleichs anzugeben. Verwenden Sie in der Regel linguistische Optionen (unter Verwendung der aktuellen Kultur), um Zeichenfolgen zu vergleichen, die auf der Benutzeroberfläche angezeigt werden, und geben Ordinal Oder OrdinalIgnoreCase für Sicherheitsvergleiche an.