Compare duas strings ignorando maiúsculas e minúsculas em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. Comparação de strings que não diferenciam maiúsculas de minúsculas com o método String.ToUpper() em C#
  2. Comparação de strings que não diferenciam maiúsculas de minúsculas com a função String.ToLower() em C#
  3. Comparação de strings que não diferenciam maiúsculas de minúsculas com a função String.Equals() em C#
Compare duas strings ignorando maiúsculas e minúsculas em C#

Este tutorial discutirá métodos para realizar uma comparação sem distinção entre maiúsculas e minúsculas de 2 strings em C#.

Comparação de strings que não diferenciam maiúsculas de minúsculas com o método String.ToUpper() em C#

Se quisermos comparar duas variáveis ​​de string ignorando casos, podemos converter ambas as strings em caracteres maiúsculos e depois compará-los. O método String.ToUpper() converte uma string em caracteres maiúsculos. O exemplo de código a seguir nos mostra como podemos realizar uma comparação sem distinção entre maiúsculas e minúsculas de duas variáveis ​​de string com o método String.ToUpper() em 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");
      }
    }
  }
}

Resultado:

Strings are equal

No código acima, convertemos as variáveis ​​de string var1 e var2 em caracteres maiúsculos com a função String.ToUpper() e depois comparamos as strings cased superiores resultantes.

Comparação de strings que não diferenciam maiúsculas de minúsculas com a função String.ToLower() em C#

Também podemos realizar uma comparação de string sem distinção entre maiúsculas e minúsculas, primeiro convertendo ambas as variáveis ​​de string em caracteres minúsculos e depois comparando-as. A função String.ToLower() é usada para converter uma string em caracteres minúsculos. O exemplo de código a seguir nos mostra como podemos realizar uma comparação de string sem distinção entre maiúsculas e minúsculas com a função String.ToLower() em 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");
      }
    }
  }
}

Resultado:

Strings are equal

No código acima, convertemos as variáveis ​​de string var1 e var2 em caracteres minúsculos com o método String.ToUpper() e, em seguida, comparamos as strings resultantes em minúsculas.

Comparação de strings que não diferenciam maiúsculas de minúsculas com a função String.Equals() em C#

Os dois métodos discutidos acima funcionam bem, mas há uma grande desvantagem em usá-los. Algumas letras são alteradas para letras completamente diferentes no idioma inglês se usarmos as funções String.ToUpper() ou String.ToLower() em C#. Para eliminar esse erro, podemos usar o campo StringComparison.OrdinalIgnoreCase como um parâmetro da função String.Equals(). A função String.Equals() é usada para comparar duas variáveis ​​de string em C#. A função String.Equals() retorna true se as strings são iguais e false se as strings não são iguais. O exemplo de código a seguir nos mostra como podemos realizar uma comparação de string sem distinção entre maiúsculas e minúsculas com a função String.Equals() em 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");
      }
    }
  }
}

Resultado:

Strings are equal

No código acima, realizamos uma comparação de string sem distinção entre maiúsculas e minúsculas das variáveis ​​de string var1 e var2 com a função String.Equals() cujo parâmetro é o 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

Artigo relacionado - Csharp String