Vérifiez la chaîne Palindrome en C#
-
Vérifiez la chaîne Palindrome avec la méthode
String.Substring()
enC#
-
Vérifiez la chaîne Palindrome avec la méthode LINQ 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.
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.
LinkedInArticle connexe - Csharp String
- C# Convert String to enum
- C# Convertir Int en String
- Utiliser des chaînes dans l'instruction Switch en C#
- Comment convertir une chaîne de caractères en booléen en C#
- Comment convertir une chaîne de caractères en un tableau d'octets en C#
- Comment convertir une chaînes de caractères pour qu'elle flotte en C#