fork download
  1. // ===++===
  2. //
  3. // OrtizOL
  4. //
  5. // ===--===
  6. /*============================================================
  7. //
  8. // Clase: ManipulacionCadenas.cs
  9. //
  10. // Propósito: Demostrar el uso uso eficiente de StringBuilder
  11. //
  12. ============================================================*/
  13.  
  14. using System;
  15. using System.Text;
  16.  
  17. namespace Recetas.Ch02
  18. {
  19. public class ManipulacionCadenas
  20. {
  21. ///<summary>
  22. ///
  23. ///</summary>
  24. public static string InvertirCadena(string cadena)
  25. {
  26. // Valida que cadena sea reversible
  27. if (cadena == null || cadena.Length <= 1)
  28. {
  29. return cadena;
  30. }
  31.  
  32. // Creación de objeto StringBuilder con capacidad igual
  33. // a la longitud de la cadena de caracteres pasada como argumento
  34. StringBuilder cadenaInversa = new StringBuilder(cadena.Length);
  35.  
  36. // Caracter por caracter, empezando por el último caracter en
  37. // en el objeto cadena es añadido a cadenaInversa
  38. for (int i = cadena.Length - 1; i >= 0; --i)
  39. {
  40. cadenaInversa.Append(cadena[i]);
  41. }
  42.  
  43. return cadenaInversa.ToString();
  44. }
  45.  
  46. public static void Main()
  47. {
  48. // Ejemplos con algunos palíndromos
  49. Console.WriteLine(InvertirCadena("Allí si María avisa y así va a ir a mi silla"));
  50.  
  51. Console.WriteLine("No di mi decoro, cedí mi don");
  52. }
  53. }
  54. }
Success #stdin #stdout 0.02s 33880KB
stdin
Standard input is empty
stdout
allis im a ri a av ísa y asiva aíraM is íllA
No di mi decoro, cedí mi don