CompareOptions-Enumeration

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

Die CompareOptions-Optionen bezeichnen die Berücksichtigung von Groß-/Kleinschreibung oder die Notwendigkeit, Zeichentypen zu ignorieren.

.NET verwendet drei unterschiedliche Sortiermethoden: Wortsortierung, Zeichenfolgensortierung und ordinale Sortierung. Bei der Wortsortierung wird ein kulturabhängiger Vergleich von Zeichenfolgen durchgeführt. Bestimmten nicht alphanumerischen Zeichen können besondere Gewichtungen zugewiesen werden. Beispielsweise wird dem Bindestrich ("-") ggf. eine sehr geringe Gewichtung zugeordnet, sodass "coop" und "co-op" in einer sortierten Liste nebeneinander angezeigt werden. Die Zeichenfolgensortierung unterscheidet sich von der Wortsortierung nur dadurch, dass keine Sonderfälle vorhanden sind. Daher werden alle nichtalphanumerischen Symbole vor allen alphanumerischen Zeichen einsortiert. Bei der ordinalen Sortierung werden Zeichenfolgen basierend auf den Unicode-Werten der einzelnen Elemente der Zeichenfolge verglichen. Sie können eine Gruppe von Textdateien herunterladen, die Informationen zur Gewichtung der Zeichen enthalten, die bei Sortierungs- und Vergleichsvorgängen unter Windows-Betriebssystemen verwendet werden. Weitere Informationen finden Sie unter Sortiergewichtungstabellen. Die Sortiergewichtungstabelle für Linux und macOS finden Sie unter Standardmäßigen Unicode-Sortierelementtabelle. Die spezifische Version der Sortiergewichtungstabelle unter Linux und macOS hängt von der auf dem System installierten Version der International Components for Unicode ab. Informationen zu ICU-Versionen und den Unicode-Versionen, die durch sie implementiert werden, finden Sie unter Downloading ICU.

Der Wert StringSort kann nur mit CompareInfo.Compare und CompareInfo.GetSortKey verwendet werden. ArgumentException wird ausgelöst, wenn der StringSort-Wert mit CompareInfo.IsPrefix, CompareInfo.IsSuffix, CompareInfo.IndexOf oder CompareInfo.LastIndexOf verwendet wird.

Hinweis

Sie sollten nach Möglichkeit Zeichenfolgenvergleichsmethoden verwenden, die einen CompareOptions-Wert akzeptieren, der die Art des erwarteten Vergleichs angibt. Generell gilt, dass für benutzerseitige Vergleiche sprachliche Optionen (unter Verwendung der aktuellen Kultur) am besten geeignet sind, während für Sicherheitsvergleiche Ordinal oder OrdinalIgnoreCase angegeben werden sollte.

Kulturabhängige Sortierungen

Hinweis

Gilt nur für .NET Core unter Linux- und macOS-Systemen: Das Sortierverhalten für die C- und Posix-Kulturen unterscheidet immer zwischen Groß- und Kleinschreibung, weil diese Kulturen nicht die erwartete Unicode-Sortierreihenfolge verwenden. Bei der Durchführung kulturrelevanter Sortiervorgänge ohne Unterscheidung von Groß-/Kleinschreibung wird empfohlen, eine andere Kultur als C oder Posix zu verwenden.