Comparar dos cadenas ignorando mayúsculas y minúsculas en C#

Muhammad Maisam Abbas 16 febrero 2024
  1. Comparación de cadenas que no distingue entre mayúsculas y minúsculas con el método String.ToUpper() en C#
  2. Comparación de cadenas sin distinción entre mayúsculas y minúsculas con la función String.ToLower() en C#
  3. Comparación de cadenas que no distingue entre mayúsculas y minúsculas con la función String.Equals() en C#
Comparar dos cadenas ignorando mayúsculas y minúsculas en C#

Este tutorial discutirá métodos para llevar a cabo una comparación sin distinción entre mayúsculas y minúsculas de 2 cadenas en C#.

Comparación de cadenas que no distingue entre mayúsculas y minúsculas con el método String.ToUpper() en C#

Si queremos comparar dos variables de cadena ignorando los casos, podemos convertir ambas cadenas a caracteres en mayúsculas y luego compararlas. El método String.ToUpper() convierte una cadena en caracteres en mayúscula. El siguiente ejemplo de código nos muestra cómo podemos llevar a cabo una comparación sin distinción entre mayúsculas y minúsculas de dos variables de cadena con el método String.ToUpper() en C#.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ignore_case_string_comparison {
  class Program {
    static void Main(string[] args) {
      string var1 = "String";
      string var2 = "string";
      if (var1.ToUpper() == var2.ToUpper()) {
        Console.WriteLine("Strings are equal");
      }
    }
  }
}

Producción :

Strings are equal

En el código anterior, convertimos las variables de cadena var1 y var2 a caracteres en mayúscula con la función String.ToUpper() y luego comparamos las cadenas en mayúsculas resultantes.

Comparación de cadenas sin distinción entre mayúsculas y minúsculas con la función String.ToLower() en C#

También podemos realizar una comparación de cadenas que no distinga entre mayúsculas y minúsculas convirtiendo primero ambas variables de cadena a caracteres en minúsculas y luego comparándolas. La función String.ToLower() se utiliza para convertir una cadena en caracteres en minúscula. El siguiente ejemplo de código nos muestra cómo podemos realizar una comparación de cadenas que no distinga entre mayúsculas y minúsculas con la función String.ToLower() en C#.

using System;

namespace ignore_case_string_comparison {
  class Program {
    static void Main(string[] args) {
      string var1 = "String";
      string var2 = "string";
      if (var1.ToLower() == var2.ToLower()) {
        Console.WriteLine("Strings are equal");
      }
    }
  }
}

Producción :

Strings are equal

En el código anterior, convertimos las variables de cadena var1 y var2 a caracteres en minúsculas con el método String.ToUpper() y luego comparamos las cadenas en minúsculas resultantes.

Comparación de cadenas que no distingue entre mayúsculas y minúsculas con la función String.Equals() en C#

Ambos métodos discutidos anteriormente funcionan bien, pero hay una gran desventaja de usarlos. Algunas letras se cambian a letras completamente diferentes en el idioma inglés si usamos las funciones String.ToUpper() o String.ToLower() en C#. Para eliminar este error podemos utilizar el campo StringComparison.OrdinalIgnoreCase como parámetro de la función String.Equals(). La función String.Equals() se utiliza para comparar dos variables de cadena en C#. La función String.Equals() devuelve true si las cadenas son iguales y false si las cadenas no son iguales. El siguiente ejemplo de código nos muestra cómo podemos realizar una comparación de cadenas que no distinga entre mayúsculas y minúsculas con la función String.Equals() en C#.

using System;

namespace ignore_case_string_comparison {
  class Program {
    static void Main(string[] args) {
      string var1 = "String";
      string var2 = "string";
      if (var1.Equals(var2, StringComparison.OrdinalIgnoreCase)) {
        Console.WriteLine("Strings are equal");
      }
    }
  }
}

Producción :

Strings are equal

En el código anterior, realizamos una comparación de cadenas que no distingue entre mayúsculas y minúsculas de las variables de cadena var1 y var2 con la función String.Equals() cuyo parámetro es el campo StringComparison.OrdinalIgnoreCase.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artículo relacionado - Csharp String