Eventuali duplicati:
Why does string.Compare seem to handle accented characters inconsistently?stringa di confronto parziale
Ho il seguente codice
var s1 = "ABzzzzz2";
var s2 = "äbzzzzz1";
var cmp = StringComparison.InvariantCultureIgnoreCase;
Console.WriteLine(string.Compare(s1, 0, s2, 0, 7, cmp)); //prints -1
Console.WriteLine(string.Compare(s1, 0, s2, 0, 8, cmp)); //prints 1
Come potrebbe essere che una parte della prima stringa è inferiore a parte del secondo, mentre l'intera prima corda è maggiore dell'intero secondo?
L'ho provato su x64, .net 2.0, 3.5, 4.0
Mi sembra che i numeri alla fine abbiano la precedenza nella definizione dell'ordine. –
@Jan Stesso risultato con '2' sostituito con' b', '1' di' a'. – Rawling
Puoi semplificare il tuo esempio: 'var s1 =" a2 "; var s2 = "ä1"; 'A proposito, l'Umlaut conta. –