Hey devs, en esta ocasión les voy a enseñar cómo se pueden comparar dos strings de forma eficiente.
Tú podrás decir, comparar dos strings es fácil, y sí, es fácil pero lo que no es tan evidente es que la forma más utilizada, no siempre es la mejor, y te lo mostraré aquí.
La forma común
Si quieres comparar el contenido de dos cadenas de texto, ignorando mayúsculas o minúsculas, lo que normalmente se utiliza es:
public bool CompasissonWithUpper(string parameter1, string parameter2)
{
return parameter1.ToUpper() == parameter2.ToUpper();
}
La forma óptima
.NET pone a disposición nuestra el método Equals para este fin, que con las opciones correctas hacen mucho mejor el trabajo:
public bool CompasissonWithEquals(string parameter1, string parameter2)
{
return string.Equals(parameter1, parameter2, StringComparison.OrdinalIgnoreCase);
}
Y cómo es que supe que es más eficiente?
A las pruebas me remito, a continuación dejo las mediciones usando uno u otra forma:
Así que como podrás ver, el utilizar la comparación == y el ToUpper() hace uso de asignación de memoria y copia de cadenas. Esto se lo ahorra el String.Equals.
En resumen, si quieres comparar dos cadenas utiliza String.Equals.
Si quieres ver el proyecto, visita mi repo aquí 🐿️
Eso ha sido todo por ahora devs!
Si esta entrada te ha encantado, entonces compártela! ✌️🦊