Dela via


Utföra strängoperationer utan kulturanpassning

Kulturkänsliga strängåtgärder är fördelaktiga om du skapar program som är utformade för att visa resultat för användare per kultur. Som standard hämtar kulturkänsliga metoder kulturen som ska användas från CurrentCulture egenskapen för den aktuella tråden.

Ibland är strängoperationer som tar hänsyn till kultur inte det önskade beteendet. Om du använder kulturkänsliga åtgärder när resultaten ska vara oberoende av kultur kan programkoden misslyckas på kulturer med anpassade skiftlägesmappningar och sorteringsregler. Ett exempel finns i avsnittet Strängjämförelser som använder aktuell kultur i Metodtips för att använda strängar.

Huruvida strängoperationer ska vara kulturkänsliga eller kulturoberoende beror på hur programmet använder resultaten. Strängoperationer som visar resultat för användaren bör typiskt vara kulturkänsliga. Om ett program till exempel visar en sorterad lista över lokaliserade strängar i en listruta bör programmet utföra en kulturkänslig sortering.

Resultat av strängåtgärder som används internt bör vanligtvis vara kulturokänsliga. Om programmet i allmänhet arbetar med filnamn, beständighetsformat eller symbolisk information som inte visas för användaren bör resultatet av strängåtgärder inte variera beroende på kultur. Om ett program till exempel jämför en sträng för att avgöra om det är en identifierad XML-tagg bör jämförelsen inte vara kulturkänslig. Om ett säkerhetsbeslut baseras på resultatet av en strängjämförelse eller skiftlägesändringsåtgärd bör åtgärden dessutom vara kulturokänslig för att säkerställa att resultatet inte påverkas av värdet för CurrentCulture.

De flesta .NET-metoder som som standard utför kulturkänsliga strängåtgärder erbjuder också en överlagring som gör att du kan garantera kulturokänsliga resultat. Med de här överlagringarna som tar ett CultureInfo argument kan du eliminera kulturella variationer i fallmappningar och sorteringsregler. För åtgärder som är okänsliga för kultur, ange kulturen som CultureInfo.InvariantCulture.

I det här avsnittet

Artiklarna i det här avsnittet visar hur du utför kulturokänsliga strängåtgärder med hjälp av .NET-metoder som är kulturkänsliga som standard.

Utföra kulturokänsliga strängjämförelser
Beskriver hur du använder String.Compare metoderna och String.CompareTo för att utföra kulturokänsliga strängjämförelser.

Genomföra kulturokänsliga skiftlägesändringar
Beskriver hur du använder String.ToUpper, String.ToLower, Char.ToUpper och Char.ToLower-metoderna för att utföra kultur-okänsliga skiftlägesändringar.

Utföra kultur-neutrala strängoperationer i samlingar
Beskriver hur du använder klassen CaseInsensitiveComparer, klasserna CaseInsensitiveHashCodeProvider, SortedList, ArrayList.Sort och CollectionsUtil.CreateCaseInsensitiveHashtable för att utföra kulturoberoende åtgärder i samlingar.

Utföra kulturinsensitiva strängoperationer i matriser
Beskriver hur du använder metoderna Array.Sort och Array.BinarySearch för att utföra kultur-okänsliga operationer i matriser.

Se även