Wykonywanie operacji ciągów bez uwzględniania kultury w tablicach

Przeciążenia metod i Array.BinarySearch domyślnie wykonują sortowanie Array.Sort wrażliwe na kulturę Thread.CurrentCulture przy użyciu właściwości . Wyniki wrażliwe na kulturę zwracane przez te metody mogą się różnić w zależności od kultury ze względu na różnice w kolejności sortowania. Aby wyeliminować zachowanie wrażliwe na kulturę, użyj jednego z przeciążeń tej metody, które akceptuje comparer parametr. Parametr comparer określa implementację IComparer do użycia podczas porównywania elementów w tablicy. Dla parametru określ niestandardową niezmienną klasę porównującą, która używa CultureInfo.InvariantCultureklasy . Przykład niestandardowej niezmiennej klasy porównującej znajduje się w podtopie "Using the SortedList Class" ( Używanie klasy SortedList) w temacie Wykonywanie operacji ciągów bez uwzględniania kultury w kolekcjach .

Uwaga

Przekazywanie elementu CultureInfo.InvariantCulture do metody porównania wykonuje porównanie niewrażliwe na kulturę. Nie powoduje to jednak porównania nielingwistycznego, na przykład dla ścieżek plików, kluczy rejestru i zmiennych środowiskowych. Żadna z nich nie obsługuje decyzji dotyczących zabezpieczeń na podstawie wyniku porównania. W przypadku porównania nielingwistycznego lub obsługi decyzji dotyczących zabezpieczeń opartych na wynikach StringComparison aplikacja powinna użyć metody porównania, która akceptuje wartość. Następnie aplikacja powinna przekazać wartość Ordinal.

Zobacz też