Verifique a string do Palíndromo em C#
-
Verifique a string do Palindrome com o método
String.Substring()emC# -
Verifique a string do Palíndromo com o método LINQ 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.
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