// ===++=== // // OrtizOL // // ===--=== /*============================================================ // // Clase: ManipulacionCadenas.cs // // Propósito: Demostrar el uso uso eficiente de StringBuilder // ============================================================*/ using System; using System.Text; namespace Recetas.Ch02 { public class ManipulacionCadenas { /// /// /// public static string InvertirCadena(string cadena) { // Valida que cadena sea reversible if (cadena == null || cadena.Length <= 1) { return cadena; } // Creación de objeto StringBuilder con capacidad igual // a la longitud de la cadena de caracteres pasada como argumento StringBuilder cadenaInversa = new StringBuilder(cadena.Length); // Caracter por caracter, empezando por el último caracter en // en el objeto cadena es añadido a cadenaInversa for (int i = cadena.Length - 1; i >= 0; --i) { cadenaInversa.Append(cadena[i]); } return cadenaInversa.ToString(); } public static void Main() { // Ejemplos con algunos palíndromos Console.WriteLine(InvertirCadena("Allí si María avisa y así va a ir a mi silla")); Console.WriteLine("No di mi decoro, cedí mi don"); } } }