Comparer deux chaînes en ignorant la casse en C#

Muhammad Maisam Abbas 16 février 2024
  1. Comparaison de chaînes insensible à la casse avec la méthode String.ToUpper() en C#
  2. Comparaison de chaînes insensible à la casse avec la fonction String.ToLower() en C#
  3. Comparaison de chaînes insensible à la casse avec la fonction String.Equals() en C#
Comparer deux chaînes en ignorant la casse en C#

Ce didacticiel abordera les méthodes permettant d’effectuer une comparaison insensible à la casse de 2 chaînes en C#.

Comparaison de chaînes insensible à la casse avec la méthode String.ToUpper() en C#

Si nous voulons comparer deux variables de chaîne en ignorant les cas, nous pouvons convertir les deux chaînes en caractères majuscules, puis les comparer. La méthode String.ToUpper() convertit une chaîne en caractères majuscules. L’exemple de code suivant nous montre comment effectuer une comparaison insensible à la casse de deux variables chaîne avec la méthode 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");
      }
    }
  }
}

Production:

Strings are equal

Dans le code ci-dessus, nous avons converti les variables de chaîne var1 et var2 en caractères majuscules avec la fonction String.ToUpper() puis comparé les chaînes en majuscules résultantes.

Comparaison de chaînes insensible à la casse avec la fonction String.ToLower() en C#

Nous pouvons également effectuer une comparaison de chaînes insensible à la casse en convertissant d’abord les deux variables de chaîne en caractères minuscules, puis en les comparant. La fonction String.ToLower() permet de convertir une chaîne en caractères minuscules. L’exemple de code suivant nous montre comment effectuer une comparaison de chaînes insensible à la casse avec la fonction 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");
      }
    }
  }
}

Production:

Strings are equal

Dans le code ci-dessus, nous avons converti les variables de chaîne var1 et var2 en caractères minuscules avec la méthode String.ToUpper(), puis comparé les chaînes en minuscules résultantes.

Comparaison de chaînes insensible à la casse avec la fonction String.Equals() en C#

Les deux méthodes décrites ci-dessus fonctionnent bien, mais leur utilisation présente un gros inconvénient. Certaines lettres sont changées en lettres complètement différentes dans la langue anglaise si nous utilisons les fonctions String.ToUpper() ou String.ToLower() en C#. Pour éliminer cette erreur, nous pouvons utiliser le champ StringComparison.OrdinalIgnoreCase comme paramètre de la fonction String.Equals(). La fonction String.Equals() permet de comparer deux variables chaîne en C#. La fonction String.Equals() renvoie true si les chaînes sont égales et false si les chaînes ne sont pas égales. L’exemple de code suivant nous montre comment effectuer une comparaison de chaînes insensible à la casse avec la fonction 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");
      }
    }
  }
}

Production:

Strings are equal

Dans le code ci-dessus, nous avons effectué une comparaison de chaînes insensible à la casse des variables chaîne var1 et var2 avec la fonction String.Equals() dont le paramètre est le champ 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

Article connexe - Csharp String