Wpis z mikrobloga

Prośba do #programowanie i #programista15k w #csharp chciałem napisać algorytm, który sprawdza czy string jest palindromem, niestety konsola zawsze wyrzuca mi "false"

static bool isPalindrome(string text)
{
char[] charArray = text.ToCharArray();
Array.Reverse(charArray);

if (charArray.Equals(text))

return true;
else return false;

Dopiero się ucze, także proszę o wyrozumiałość ( ͡° ͜ʖ ͡°)
Z góry dzięki miraski :*
  • 14
  • Odpowiedz
@jourska: Nie programuję w C#, ale kilka pomysłów, co sam bym zrobił w podobnej sytuacji:
1. Wyprintuj sobie text, charArray i zawartość charArray po Array.Reverse
2. Sprawdź, czy Array.Reverse zamienia kolejność elementów "w miejscu", czy też zwraca nową tablicę z odwróconymi elementami
3. Sprawdź, czy charArray.Equals nie porównuje także typów, więc wówczas zawsze Array != string

Trzecie
  • Odpowiedz
@jourska: Po pierwsze, przyrównujesz tablicę znaków do stringa. Tak nie można. Zamiast tego stwórz sobie zmienną pomocniczą:

string reversedText = new String(charArray);
i wtedy porównaj. I nie przez if... else... ale zwyczajnie, prosto:

return reversedText.Equals(text);
  • Odpowiedz