Cómo comparar dos strings de forma óptima en C#
Una de las mejores formas de comparar dos strings es ésta, y con pruebas! 🐿️

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! ✌️🦊

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *