HOWTO · Csharp
Palindrom-String in C# prüfen
Es gibt zwei Hauptmethoden, mit denen überprüft werden kann, ob ein String in C# ein Palindrom ist oder nicht, die String.Substring()-Methode und die LINQ-Methode.
Auf dieser Seite
In diesem Tutorial werden die Methoden vorgestellt, mit denen überprüft werden kann, ob eine Zeichenkette in C# palindrom ist oder nicht.
Palindrom-String mit der Methode String.Substring() in C# prüfen
Eine Zeichenkette wird als Palindrom betrachtet, wenn sie vorwärts und rückwärts gleich gelesen wird. Leider gibt es keine integrierte Methode, um zu überprüfen, ob ein String in C# ein Palindrom ist oder nicht. Wir können jedoch die Methode String.Substring() verwenden, um den String von der Mitte zu trennen und die erste Hälfte zu erhalten. Wir können die Umkehrung der zweiten Hälfte erzielen, indem wir die Zeichenkette in ein Array von Zeichen konvertieren, die Zeichenkette mit der Methode Array.Reverse() umkehren, das umgekehrte Array in eine Zeichenkette konvertieren und dann die neue Zeichenkette von aufteilen die Mitte mit der Methode String.Substring(). Wenn die erste Hälfte der Rückseite der zweiten Hälfte entspricht, ist die Saite ein Palindrom. Wenn die erste Hälfte nicht der zweiten Hälfte entspricht, ist die Zeichenkette kein Palindrom. Das folgende Codebeispiel zeigt uns, wie wir mit der Methode String.Substring() in C# überprüfen können, ob ein String ein Palindrom ist oder nicht.
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);
}
}
}
Ausgabe:
True
Im obigen Code haben wir mit der Methode String.Substring() in C# geprüft, ob der String 12321 ein Palindrom ist oder nicht.
Überprüfen Sie den Palindrom-String mit der LINQ-Methode in C#
Die Methode SequenceEqual() im LINQ vergleicht zwei Folgen von Elementen in C#. Die Methode Reverse() im LINQ kehrt die Elemente einer Sequenz in C# um. Wir können die Methode Reverse() verwenden, um unsere Zeichenkette umzukehren und sie mit der Methode SequenceEqual() mit der ursprünglichen Zeichenkette zu vergleichen. Das folgende Codebeispiel zeigt uns, wie wir mit der LINQ-Methode in C# überprüfen können, ob eine Zeichenkette ein Palindrom ist oder nicht.
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);
}
}
}
Ausgabe:
True
Im obigen Code haben wir mit den Methoden SequenceEqual() und Reverse() in C# geprüft, ob die Zeichenkette 12321 ein Palindrom ist oder nicht. Dieser Ansatz wird gegenüber dem vorherigen Ansatz bevorzugt, da er einfacher ist.