Velocizzare le comparazioni di stringhe con CompareOrdinal

di Stefano Mostarda, in UserScript, ASP.NETC#,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi