Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created September 8, 2014 21:46
Show Gist options
  • Save Fhernd/8bacb729cc3c2fa4b965 to your computer and use it in GitHub Desktop.
Save Fhernd/8bacb729cc3c2fa4b965 to your computer and use it in GitHub Desktop.
Uso de operadores sobrecargados para concatenar palabras.
using System;
namespace Articulos.Cap04
{
public class Palabra
{
public string Texto
{
set;
get;
}
///<summary>
/// Concatena el texto de dos palabras y retorna una cadena
/// de caracteres.
///</summary>
public static string operator +(Palabra p1, Palabra p2)
{
return String.Format("{0} {1}", p1.Texto, p2.Texto);
}
///<summary>
/// Concatena el texto de una palabra con un número entero
/// y retorna un objeto Palabra como una instancia nueva.
///</summary>
public static Palabra operator +(Palabra p, int i)
{
return new Palabra { Texto = p.Texto + i.ToString()};
}
///<summary>
/// Devuelve la representación en cadena de caracteres del campo Texto
/// de la instancia actual.
///</summary>
public override string ToString()
{
return Texto;
}
}
public class ClientePalabra
{
public static void Main()
{
// Creación de dos instancias de Palabra
Palabra palabra1 = new Palabra() { Texto = "Hola" };
Palabra palabra2 = new Palabra() { Texto = "Mundo" };
// Impresión de valores en la salida estándar.
Console.WriteLine("\npalabra1: {0}", palabra1);
Console.WriteLine("palabra2: {0}", palabra2);
Console.WriteLine("\nConcatenadas: {0}", palabra1 + palabra2);
Console.WriteLine("Concatadenas con entero: {0}", palabra1 + 13);
Console.WriteLine();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment