Wykonywanie niezależnych od kultury operacji na ciągach w tablicachPerforming Culture-Insensitive String Operations in Arrays

Przeciążenia metod i Array.Sort Array.BinarySearch są domyślnie wykonywane w celu sortowania z uwzględnieniem kultury, przy Thread.CurrentCulture użyciu właściwości.Overloads of the Array.Sort and Array.BinarySearch methods perform culture-sensitive sorts by default using the Thread.CurrentCulture property. Wyniki wrażliwe na kulturę zwracane przez te metody mogą się różnić w zależności od różnic w kolejności sortowania.Culture-sensitive results returned by these methods can vary by culture due to differences in sort orders. Aby wyeliminować zachowanie wrażliwe na kulturę, użyj jednego z przeciążeń tej metody, comparer która akceptuje parametr.To eliminate culture-sensitive behavior, use one of the overloads of this method that accepts a comparer parameter. comparer ParametrIComparer określa implementację do użycia podczas porównywania elementów w tablicy.The comparer parameter specifies the IComparer implementation to use when comparing elements in the array. Dla parametru należy określić niestandardową klasę niezmiennej porównującej, CultureInfo.InvariantCulturektóra używa.For the parameter, specify a custom invariant comparer class that uses CultureInfo.InvariantCulture. Przykład niestandardowej klasy niezmiennej porównującej znajduje się w podrozdziale "Using the SortedList Class" w temacie wykonywanie operacji na ciągach, które nie uwzględniają kultury w temacie kolekcje .An example of a custom invariant comparer class is provided in the "Using the SortedList Class" subtopic of the Performing Culture-Insensitive String Operations in Collections topic.

Uwaga

Przekazywanie CultureInfo. InvariantCulture do metody porównania wykonuje porównanie nieuwzględniające kulturę.Passing CultureInfo.InvariantCulture to a comparison method does perform a culture-insensitive comparison. Nie powoduje to jednak porównania w języku innym niż język, na przykład w przypadku ścieżek plików, kluczy rejestru i zmiennych środowiskowych.However, it does not cause a non-linguistic comparison, for example, for file paths, registry keys, and environment variables. Żadna z tych funkcji nie wspiera podejmowania decyzji dotyczących zabezpieczeń w oparciu o wynik porównania.Neither does it support security decisions based on the comparison result. W przypadku niezgodności z językiem lub pomocy technicznej dla decyzji o zabezpieczeniach opartych na wynikach aplikacja powinna używać metody porównania, StringComparison która akceptuje wartość.For a non-linguistic comparison or support for result-based security decisions, the application should use a comparison method that accepts a StringComparison value. Aplikacja powinna następnie przejść Ordinal.The application should then pass Ordinal.

Zobacz takżeSee also