Vérifiez la chaîne Palindrome en C#

Muhammad Maisam Abbas 16 février 2024
  1. Vérifiez la chaîne Palindrome avec la méthode String.Substring() en C#
  2. Vérifiez la chaîne Palindrome avec la méthode LINQ en C#
Vérifiez la chaîne Palindrome en C#

Ce tutoriel présentera les méthodes pour vérifier si une chaîne est palindrome ou non en C#.

Vérifiez la chaîne Palindrome avec la méthode String.Substring() en C#

Une chaîne est considérée comme palindrome si elle est lue de la même manière en avant et en arrière. Malheureusement, il n’y a pas de méthode intégrée pour vérifier si une chaîne est un palindrome ou non en C#. Mais nous pouvons utiliser la méthode String.Substring() pour séparer la chaîne du milieu pour obtenir la première moitié. Nous pouvons obtenir l’inverse de la seconde moitié en convertissant la chaîne en un tableau de caractères, en inversant la séquence de caractères avec la méthode Array.Reverse(), en convertissant le tableau inversé en chaîne, puis en séparant la nouvelle chaîne de au milieu avec la méthode String.Substring(). Si la première moitié est égale à l’inverse de la seconde moitié, la corde est un palindrome. Si la première moitié n’est pas égale à la seconde moitié, la corde n’est pas un palindrome. L’exemple de code suivant nous montre comment vérifier si une chaîne est un palindrome ou non avec la méthode String.Substring() en C#.

using System;
using System.Linq;

namespace palindrome {
  class Program {
    public static bool checkPalindrome(string mainString) {
      string firstHalf = mainString.Substring(0, mainString.Length / 2);
      char[] arr = mainString.ToCharArray();

      Array.Reverse(arr);

      string temp = new string(arr);
      string secondHalf = temp.Substring(0, temp.Length / 2);

      return firstHalf.Equals(secondHalf);
    }
    static void Main(string[] args) {
      bool palindrome = checkPalindrome("12321");
      Console.WriteLine(palindrome);
    }
  }
}

Production:

True

Dans le code ci-dessus, nous avons vérifié si la chaîne 12321 est un palindrome ou non avec la méthode String.Substring() en C#.

Vérifiez la chaîne Palindrome avec la méthode LINQ en C#

La méthode SequenceEqual() à l’intérieur du LINQ compare deux séquences d’éléments en C#. La méthode Reverse() à l’intérieur du LINQ inverse les éléments d’une séquence en C#. Nous pouvons utiliser la méthode Reverse() pour inverser notre chaîne et la comparer avec la chaîne d’origine en utilisant la méthode SequenceEqual(). L’exemple de code suivant nous montre comment nous pouvons vérifier si une chaîne est un palindrome ou non avec la méthode LINQ en C#.

using System;
using System.Linq;

namespace palindrome {
  class Program {
    public static bool checkPalindrome2(string mainString) {
      return mainString.SequenceEqual(mainString.Reverse());
    }
    static void Main(string[] args) {
      bool palindrome = checkPalindrome2("12321");
      Console.WriteLine(palindrome);
    }
  }
}

Production:

True

Dans le code ci-dessus, nous avons vérifié si la chaîne 12321 est un palindrome ou non avec les méthodes SequenceEqual() et Reverse() en C#. Cette approche est préférée à l’approche précédente car elle est plus simple.

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