Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: DanielPy en 29 Julio 2013, 19:52 PM

Título: Sobrecarga de operadores en C#
Publicado por: DanielPy en 29 Julio 2013, 19:52 PM
Hola a todos.
Alguien me puede dar una mano con esto, llevo días leyendo sobre el tema y bajando ejemplos y no logro entender esto de la sobrecarga de operadores, por Ej. ¿es muy distinto hacer lo mismo con un bucle foreach para sumar 2 vectores y poner el resultado en otro?.-

Fuente:
http://www.csharpya.com.ar/detalleconcepto.php?codigo=197&inicio=60
(http://www.csharpya.com.ar/detalleconcepto.php?codigo=197&inicio=60)

Bueno, no se me ocurre nada más, espero alguna aclaración.-
Saludos.
Daniel
Título: Re: Sobrecarga de operadores en C#
Publicado por: Novlucker en 29 Julio 2013, 21:06 PM
La diferencia es que el método queda a nivel de clase, te doy un ejemplo más ilustrativo ...
Código (csharp) [Seleccionar]
public class Persona
{
    public string Nombre { get; set; }
    public int Sueldo { get; set; }

    public static string operator +(Persona p, Persona p1)
    {
        return string.Format("La suma de los sueldos de {0} y {1} es de {2}", p.Nombre, p1.Nombre, p.Sueldo + p1.Sueldo);
    }
}


Código (csharp) [Seleccionar]
class Program
{
    static void Main(string[] args)
    {
        Persona p1 = new Persona { Nombre = "Carlos", Sueldo = 1000 };
        Persona p2 = new Persona { Nombre = "Ana", Sueldo = 3000 };

        Console.WriteLine("La suma de los sueldos de {0} y {1} es de {2}", p1.Nombre, p2.Nombre, p1.Sueldo + p2.Sueldo);
        Console.WriteLine(p1 + p2);
        Console.ReadLine();
    }
}


En el segundo caso, solo estoy sumando las instancias de clase, y se asume que si sumo dos instancias, entonces me tiene que devolver ese texto. Quita el método de la sobrecarga y verás que ni compila.

Saludos
Título: Re: Sobrecarga de operadores en C#
Publicado por: DanielPy en 31 Julio 2013, 19:08 PM
Hola Novlucker
Me aclaró bastante el panorama tú ejemplo, ahora me surgieron otras dudas, ¿las propiedades no deben declararse fuera del get y set como privadas? y ¿porque get funciona sin un return?.-

Saludos.
Daniel
Título: Re: Sobrecarga de operadores en C#
Publicado por: Novlucker en 31 Julio 2013, 19:22 PM
http://icomparable.blogspot.com/2008/11/propiedades-automticas-en-c-3.html ;)

Saludos