Introduction
A Palindromic number or string can be read in both directions. It’s a form of word puzzle. A numeral Palindrome is a number which remains the same when its digits are reversed. The term palindromic is derived from Palindrome, which refers to a word whose spelling is unchanged when its letters are reversed.
Sample Application to Check Palindromic Features
To demonstrate Palindromic features, let’s create a .NET console application. Add the following namespaces in the Program.cs file.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
Following is the source code of the C# CheckPalindrome function to reverse a number and check if it is a Palindrome. The C# program is successfully compiled and executed with Microsoft Visual Studio. It first reverses a number; then, it checks if the given number and reversed numbers are equal. If they are equal, it’s a Palindrome.
static void CheckPalindrome() { int number, remind, sum = 0, temp; Console.WriteLine("n >>>> Purpose of this Program <<<< "); Console.WriteLine("n >>>> To Find a Number is a Palindrome or not <<<< "); Console.Write("n Please Enter a number: "); number = Convert.ToInt32(Console.ReadLine()); temp = number; while (number > 0) { remind = number % 10; number = number / 10; sum = sum * 10 + remind; } Console.WriteLine("n The Reversed Number of the Original Number is: {0} n", sum); if (temp == sum) { Console.WriteLine("n Your Number is a Palindrome nn"); } else { Console.WriteLine("n Your Number is not a Palindrome nn"); } Console.ReadLine(); Console.Clear(); }
Similar to Palindrome number checking, we also can check if a string is a Palindrome or not. For that, you first need to reverse the string.
After that, use the equals() method or ‘==’ to match the original string with the reversed version. If the result is true, that would mean the string is a Palindrome.
To check a Palindrome string, I have written the following StringPalindrome function.
static void StringPalindrome() { string s, revs = ""; Console.WriteLine("n >>>> Purpose of this Program <<<< "); Console.WriteLine("n >>>> To Find if a String is a Palindrome or not <<<< "); Console.WriteLine("n Please Enter a string: "); s = Console.ReadLine(); s = s.Trim(); for (int i = s.Length - 1; i >= 0; i--) { revs += s[i].ToString(); } if (revs == s) { Console.WriteLine("String is a Palindrome n You have Entered the Following String {0} n and the reverse string is {1}", s, revs); } else { Console.WriteLine("String is not a Palindrome n You have Entered the Following String {0} n and the reverse string is {1}", s, revs); } Console.ReadKey(); }
Finally, from the Main() method, both the CheckPalindrome and StringPalindrome functions are called.
namespace ProjectPalindrome { class Program { static void Main(string[] args) { CheckPalindrome(); StringPalindrome(); } } }
Conclusion
In this article, I have coded couple of simple C# methods to test for Palindromes. Many Palindromes are composed of multiple words and have spaces and punctuation. These can all be tested.
I hope you enjoyed reading the article. That’s all for today; happy reading!