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