fork download
  1. using System;
  2.  
  3. namespace Articulos.Cap04
  4. {
  5. public class Palabra
  6. {
  7. public string Texto
  8. {
  9. set;
  10. get;
  11. }
  12.  
  13. ///<summary>
  14. /// Concatena el texto de dos palabras y retorna una cadena
  15. /// de caracteres.
  16. ///</summary>
  17. public static string operator +(Palabra p1, Palabra p2)
  18. {
  19. return String.Format("{0} {1}", p1.Texto, p2.Texto);
  20. }
  21.  
  22. ///<summary>
  23. /// Concatena el texto de una palabra con un número entero
  24. /// y retorna un objeto Palabra como una instancia nueva.
  25. ///</summary>
  26. public static Palabra operator +(Palabra p, int i)
  27. {
  28. return new Palabra { Texto = p.Texto + i.ToString()};
  29. }
  30.  
  31. ///<summary>
  32. /// Devuelve la representación en cadena de caracteres del campo Texto
  33. /// de la instancia actual.
  34. ///</summary>
  35. public override string ToString()
  36. {
  37. return Texto;
  38. }
  39. }
  40.  
  41. public class ClientePalabra
  42. {
  43. public static void Main()
  44. {
  45. // Creación de dos instancias de Palabra
  46. Palabra palabra1 = new Palabra() { Texto = "Hola" };
  47. Palabra palabra2 = new Palabra() { Texto = "Mundo" };
  48.  
  49. // Impresión de valores en la salida estándar.
  50. Console.WriteLine("\npalabra1: {0}", palabra1);
  51. Console.WriteLine("palabra2: {0}", palabra2);
  52.  
  53. Console.WriteLine("\nConcatenadas: {0}", palabra1 + palabra2);
  54. Console.WriteLine("Concatadenas con entero: {0}", palabra1 + 13);
  55.  
  56. Console.WriteLine();
  57. }
  58. }
  59. }
Success #stdin #stdout 0.03s 33840KB
stdin
Standard input is empty
stdout
palabra1: Hola
palabra2: Mundo

Concatenadas: Hola Mundo
Concatadenas con entero: Hola13