Dela via


Utföra kulturokänsliga strängåtgärder i matriser

Överlagringar av Array.Sort metoderna och Array.BinarySearch utför kulturkänsliga sorter som standard med hjälp av Thread.CurrentCulture egenskapen . Kulturkänsliga resultat som returneras av dessa metoder kan variera beroende på kultur på grund av skillnader i sorteringsordningar. Om du vill eliminera kulturkänsligt beteende använder du en av överlagringarna för den här metoden som accepterar en comparer parameter. Parametern comparer anger den implementering som IComparer ska användas vid jämförelse av element i matrisen. För parametern anger du en anpassad invariant jämförelseklass som använder CultureInfo.InvariantCulture. Ett exempel på en anpassad invariant jämförelseklass finns i underavsnittet "Använda sortedList-klassen" i avsnittet Utför kulturokänsliga strängåtgärder i samlingar .

Kommentar

Att skicka CultureInfo.InvariantCulture till en jämförelsemetod utför en kulturokänslig jämförelse. Det orsakar dock ingen icke-språklig jämförelse, till exempel för filsökvägar, registernycklar och miljövariabler. Det stöder inte heller säkerhetsbeslut baserat på jämförelseresultatet. För en icke-språklig jämförelse eller stöd för resultatbaserade säkerhetsbeslut bör programmet använda en jämförelsemetod som accepterar ett StringComparison värde. Programmet bör sedan skicka Ordinal.

Se även