CompareOptions Enum

Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.

Le CompareOptions opzioni indicano la distinzione tra maiuscole e minuscole o la necessità di ignorare i tipi di caratteri.

.NET usa tre modi distinti di ordinamento: ordinamento delle parole, ordinamento di stringhe e ordinamento ordinale. L'ordinamento delle parole esegue un confronto con distinzione delle impostazioni cultura delle stringhe. Alcuni caratteri non alfanumerici potrebbero avere pesi speciali assegnati. Ad esempio, il trattino ("-") potrebbe avere un peso molto ridotto assegnato in modo che "coop" e "co-op" compaiano l'uno accanto all'altro in un elenco ordinato. L'ordinamento delle stringhe è simile all'ordinamento delle parole, ad eccezione del fatto che non esistono casi speciali. Pertanto, tutti i simboli non alfanumerici vengono prima di tutti i caratteri alfanumerici. Ordinale ordinale confronta le stringhe in base ai valori Unicode di ogni elemento della stringa. Per un set scaricabile di file di testo che contengono informazioni sui pesi dei caratteri usati nelle operazioni di ordinamento e confronto per i sistemi operativi Windows, vedere Ordinamento delle tabelle ponderate. Per la tabella dei pesi di ordinamento per Linux e macOS, vedere tabella degli elementi delle regole di confronto Unicode predefinite. La versione specifica della tabella di ordinamento spessore in Linux e macOS dipende dalla versione delle librerie International Components for Unicode installate nel sistema. Per informazioni sulle versioni ICU e sulle versioni Unicode implementate, vedere Downloading ICU (Download di ICU).

Il StringSort valore può essere usato solo con CompareInfo.Compare e CompareInfo.GetSortKey. ArgumentExceptionviene generata se il valore StringSort viene usato con CompareInfo.IsPrefix, CompareInfo.IsSuffixCompareInfo.IndexOf, o CompareInfo.LastIndexOf.

Nota

Quando possibile, è consigliabile usare metodi di confronto tra stringhe che accettano un CompareOptions valore per specificare il tipo di confronto previsto. Come regola generale, i confronti per gli utenti sono più adatti all'uso delle opzioni linguistiche (usando le impostazioni cultura correnti), mentre i confronti di sicurezza devono specificare Ordinal o OrdinalIgnoreCase.

Ordinamenti sensibili alle impostazioni cultura

Nota

.NET Core in esecuzione solo nei sistemi Linux e macOS: il comportamento delle regole di confronto per le impostazioni cultura C e Posix fa sempre distinzione tra maiuscole e minuscole perché queste impostazioni cultura non usano l'ordine delle regole di confronto Unicode previsto. È consigliabile usare impostazioni cultura diverse da C o Posix per l'esecuzione di operazioni di ordinamento dipendenti dalle impostazioni cultura e senza distinzione tra maiuscole e minuscole.