Esta es una funcion para saber si una frase o palabra es un palindromo. Un palindromo es cualquier frase o palabra que al leerla al reves suena o se lee igual.
private bool EsPalindromo(String palabra)
{
palabra = palabra.Replace(” “,“”).ToLower();
char[] inversa =palabra.ToCharArray();
Array.Reverse(inversa);
string strInversa =new string(inversa);
return palabra ==strInversa;
}
Explicacion:
Bueno para empezar en la primera linea de codigo lo que hacemos es remover todos los espacios y hacer todo a minuscula para que no afecte el resultado.Luego convertimos la palabra a un array de char, esto lo hacemos con el proposito de invertir la palabra usando la funcion estatica Array.Reverse().Luego despues de haber invertido el array de chars lo convertimos a un string y lo almacenamos en strInversa. Noten que se usa el constructor de la clase String para convertirlo.Luego solo retornamos si la palabra al reves es igual a la original.
Hay formas mas complicadas de hacerlo, la ventaja de esta es que usamos las clases de .NET en vez de hacer lo que ya esta hecho.
Como Emplear la funcion
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“Escriba una palabra: “);
Console.WriteLine((EsPalindromo(c.ReadLine()))?“Si es palindromo”:“No es palindromo”);
Console.ReadLine();
}
public static bool EsPalindromo(String palabra)
{
palabra = palabra.Replace(” “, “”).ToLower();
char[] inversa = palabra.ToCharArray();
Array.Reverse(inversa);
string strInversa = new string(inversa);
return palabra == strInversa;
}
}
}

El código y la explicación me parecen excelentes, pero es poco interáctivo con el usuario, pienso mejor deletrear la palabra o frase para que la persona vea lo que escribió inversamente.
lo voy a probar gracias!
Tu programa no me salio, no se porque
lo que hice fue
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“Escriba una palabra: “);
Console.WriteLine((EsPalindromo(c.ReadLine()))?“Si es palindromo”:“No es palindromo”);
Console.ReadLine();
}
public static bool EsPalindromo(String palabra)
{
palabra = palabra.Replace(” “, “”).ToLower();
char[] inversa = palabra.ToCharArray();
Array.Reverse(inversa);
string strInversa = new string(inversa);
return palabra == strInversa;
}
}
}
todo eso en un block
lo compile con csc nombre.cs
y me daba un error en public static bool EsPalindromo(String palabra)
porque tu string es String CON Mayus.
despues lo cambie y me dieron muchos errores, que me recomiendas?
si puse el using System;