Dela via


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

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 kulturkänsliga strängåtgärder 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.

Om strängåtgärder ska vara kulturkänsliga eller kulturokänsliga beror på hur programmet använder resultaten. Strängåtgärder som visar resultat för användaren bör vanligtvis 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 ger 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 kulturokänsliga strängåtgärder anger du kulturen som CultureInfo.InvariantCulture.

I detta avsnitt

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.

Utföra kulturokänsliga skiftlägesändringar
Beskriver hur du använder String.ToUppermetoderna , String.ToLower, Char.ToUpperoch Char.ToLower för att utföra kulturokänsliga skiftlägesändringar.

Utföra kulturokänsliga strängåtgärder i samlingar
Beskriver hur du använder CaseInsensitiveComparerklassen , CaseInsensitiveHashCodeProviderSortedListArrayList.Sort och CollectionsUtil.CreateCaseInsensitiveHashtable för att utföra kulturokänsliga åtgärder i samlingar.

Utföra kulturokänsliga strängåtgärder i matriser
Beskriver hur du använder Array.Sort metoderna och Array.BinarySearch för att utföra kulturokänsliga åtgärder i matriser.

Se även