Esistono diversi modi per comparare due stringhe.
Si può utilizzare l'operatore "=", il metodo Equals o il metodo Compare.
In realtà, i primi due metodi in fase di compilazione richiamano il metodo Compare, quindi a runtime non c'è alcuna differenza.
Il problema sta nel fatto che il metodo Compare non è molto efficiente, perchè prima di effettuare la comparazione effettua la conversione delle stringhe in Unicode, consumando risorse di CPU.
Una valida alternativa è quella di utilizzare il metodo CompareOrdinal che compara direttamente il valore numerico Unicode di ciascun carattere delle stringhe.
Quest'operazione consente di velocizzare anche di 3 volte la comparazione delle stringhe:
String S1 = "str1"; String S2 = "str1"; String.CompareOrdinal(S1, S2);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.