Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Den här artikeln innehåller ytterligare kommentarer till referensdokumentationen för det här API:et.
Konventioner för att jämföra och sortera data varierar från kultur till kultur. Sorteringsordningen kan till exempel baseras på fonetik eller på den visuella representationen av tecken. I östasiatiska språk sorteras tecken efter streckantal och radikaler i ideografier. Sortering beror också på vilken ordning språk och kulturer använder för alfabetet. Det danska språket har till exempel ett "Æ"-tecken som det sorterar efter "Z" i alfabetet. Dessutom kan jämförelser vara skiftlägeskänsliga eller skiftlägesokänsliga, och höljereglerna kan också skilja sig åt beroende på kultur. Klassen CompareInfo ansvarar för att underhålla dessa kulturkänsliga strängjämförelsedata och utföra kulturkänsliga strängåtgärder.
Vanligtvis behöver du inte instansiera ett CompareInfo objekt direkt, eftersom ett används implicit av alla icke-ordningsmässiga strängjämförelseåtgärder, inklusive anrop till String.Compare metoden. Men om du vill hämta ett CompareInfo objekt kan du göra det på något av följande sätt:
Genom att hämta värdet för CultureInfo.CompareInfo egenskapen för en viss kultur.
Genom att anropa den statiska GetCompareInfo metoden med ett kulturnamn. På så sätt kan du få sen åtkomst till ett CompareInfo objekt.
Ignorerade sökvärden
Teckenuppsättningar innehåller ignorerbara tecken, som är tecken som inte beaktas när man utför en språklig eller kulturspecifik jämförelse. Jämförelsemetoder som IndexOf och LastIndexOf beaktar inte sådana tecken när de utför en kulturkänslig jämförelse. Ignorerbara tecken inkluderar:
String.Empty. Kulturkänsliga jämförelsemetoder hittar alltid en tom sträng i början (index noll) av strängen som genomsöks.
Ett tecken eller en sträng som består av tecken med kodpunkter som inte beaktas i åtgärden på grund av jämförelsealternativ. I synnerhet CompareOptions.IgnoreNonSpace och CompareOptions.IgnoreSymbols resulterar i sökningar där symboler och icke-rymmande kombinationstecken ignoreras.
En sträng med kodpunkter som inte har någon språklig betydelse. Ett mjukt bindestreck (U+00AD) ignoreras till exempel alltid i en kulturkänslig strängjämförelse.
Säkerhetsfrågor
Om ett säkerhetsbeslut beror på en strängjämförelse eller en skiftlägesändring bör du använda InvariantCulture egenskapen för att säkerställa att beteendet är konsekvent, oavsett operativsystemets kulturinställningar.
Anmärkning
När det är möjligt bör du använda strängjämförelsemetoder som har en parameter av typen CompareOptions för att ange vilken typ av jämförelse som förväntas. Som en allmän regel använder du språkalternativ (med den aktuella kulturen) för att jämföra strängar som visas i användargränssnittet och ange Ordinal eller OrdinalIgnoreCase för säkerhetsjämförelser.