Verifique a string do Palíndromo em C#

Muhammad Maisam Abbas 20 novembro 2021 9 maio 2021 Csharp Csharp String
  1. Verifique a string do Palindrome com o método String.Substring() em C#
  2. Verifique a string do Palíndromo com o método LINQ em C#
Verifique a string do Palíndromo em C#

Este tutorial irá apresentar os métodos para verificar se uma string é palíndromo ou não em C#.

Verifique a string do Palindrome com o método String.Substring() em C#

Uma string é considerada palíndromo se for lida da mesma forma para a frente e para trás. Infelizmente, não existe um método integrado para verificar se uma string é um palíndromo ou não em C#. Mas podemos usar o método String.Substring() para separar a string do meio para obter a primeira metade. Podemos obter o reverso da segunda metade convertendo a string em um array de caracteres, revertendo a sequência de caracteres com o método Array.Reverse(), convertendo a matriz reversa em uma string e, em seguida, dividindo a nova string de o meio com o método String.Substring(). Se a primeira metade for igual ao reverso da segunda metade, a corda é um palíndromo. Se a primeira metade não for igual à segunda metade, a corda não é um palíndromo. O exemplo de código a seguir nos mostra como podemos verificar se uma string é um palíndromo ou não com o método String.Substring() em 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);
        }
    }
}

Resultado:

True

No código acima, verificamos se a string 12321 é um palíndromo ou não com o método String.Substring() em C#.

Verifique a string do Palíndromo com o método LINQ em C#

O SequenceEqual() método dentro do LINQ compara duas sequências de elementos em C#. O método Reverse() dentro do LINQ inverte os elementos de uma seqüência em C#. Podemos usar o método Reverse() para inverter nossa string e compará-la com a string original usando o método SequenceEqual(). O exemplo de código a seguir nos mostra como podemos verificar se uma string é um palíndromo ou não com o método LINQ em 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);
        }
    }
}

Resultado:

True

No código acima, verificamos se a string 12321 é um palíndromo ou não com os métodos SequenceEqual() e Reverse() em C#. Essa abordagem é preferível à abordagem anterior porque é mais simples.

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

Artigo relacionado - Csharp String

  • C# Converter Int a String
  • C# Converter String em Enum
  • Use Strings na instrução Switch em C#
  • C# Converter String para Data
  • Como converter uma string em Booleano em C#
  • Como converter uma string em uma array de bytes em C#