Durchführen kulturunabhängiger Zeichenfolgenoperationen in Arrays

Überladungen der Array.Sort- und Thread.CurrentCulture-Methode führen kulturabhängige Sortierungen standardmäßig mit der Array.BinarySearch-Eigenschaft aus. Die kulturabhängigen Ergebnisse, die von diesen Methoden zurückgegeben werden, können aufgrund von Unterschieden bei Sortierreihenfolgen je nach Kultur variieren. Um kulturabhängiges Verhalten zu vermeiden, verwenden Sie eine der Überladungen dieser Methode, die einen comparer-Parameter akzeptiert. Der comparer-Parameter gibt die IComparer-Implementierung an, die beim Vergleich von Elementen im Array zu verwenden ist. Geben Sie für den Parameter eine benutzerdefinierte invariante Comparer-Klasse an, in der CultureInfo.InvariantCulture verwendet wird. Ein Beispiel einer benutzerdefinierten invarianten Comparer-Klasse finden Sie im Unterthema „Verwenden der SortedList-Klasse“ des Themas Durchführen kulturunabhängiger Zeichenfolgenvorgänge in Sammlungen.

Hinweis

Wenn Sie CultureInfo.InvariantCulture einer Vergleichsmethode übergeben, wird ein kulturunabhängiger Vergleich ausgeführt. Dies bewirkt jedoch keinen nicht linguistischen Vergleich, z. B. auf Dateipfade, Registrierungsschlüssel und Umgebungsvariablen. Und dadurch werden auch keine Sicherheitsentscheidungen anhand des Vergleichsergebnisses unterstützt. Für einen nicht linguistischen Vergleich oder Unterstützung für ergebnisbasierte Sicherheitsentscheidungen sollte die Anwendung eine Vergleichsmethode verwenden, die einen StringComparison-Wert akzeptiert. Die Anwendung sollte dann Ordinal übergeben.

Weitere Informationen