Palindrom-String in C# prüfen

Muhammad Maisam Abbas 16 Februar 2024
  1. Palindrom-String mit der Methode String.Substring() in C# prüfen
  2. Überprüfen Sie den Palindrom-String mit der LINQ-Methode in C#
Palindrom-String in C# prüfen

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.

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

Verwandter Artikel - Csharp String