Wykonywanie operacji ciągów bez uwzględniania kultury w tablicach
Artykuł
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.
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię:
Dołącz do serii meetup, aby tworzyć skalowalne rozwiązania sztucznej inteligencji oparte na rzeczywistych przypadkach użycia z innymi deweloperami i ekspertami.