溫馨提示×

C#重載運算符的實際應用案例分享

c#
小樊
100
2024-08-21 13:04:28
欄目: 編程語言

  1. 向量相加:可以通過重載加號運算符來實現向量的相加操作。
public class Vector
{
    public int X { get; set; }
    public int Y { get; set; }

    public Vector(int x, int y)
    {
        X = x;
        Y = y;
    }

    public static Vector operator +(Vector v1, Vector v2)
    {
        return new Vector(v1.X + v2.X, v1.Y + v2.Y);
    }
}

class Program
{
    static void Main()
    {
        Vector v1 = new Vector(1, 2);
        Vector v2 = new Vector(3, 4);

        Vector result = v1 + v2;

        Console.WriteLine($"Result: ({result.X}, {result.Y})"); // Output: Result: (4, 6)
    }
}
  1. 自定義數據類型相加:可以通過重載加號運算符來實現自定義數據類型的相加操作。
public class ComplexNumber
{
    public int Real { get; set; }
    public int Imaginary { get; set; }

    public ComplexNumber(int real, int imaginary)
    {
        Real = real;
        Imaginary = imaginary;
    }

    public static ComplexNumber operator +(ComplexNumber c1, ComplexNumber c2)
    {
        return new ComplexNumber(c1.Real + c2.Real, c1.Imaginary + c2.Imaginary);
    }
}

class Program
{
    static void Main()
    {
        ComplexNumber c1 = new ComplexNumber(1, 2);
        ComplexNumber c2 = new ComplexNumber(3, 4);

        ComplexNumber result = c1 + c2;

        Console.WriteLine($"Result: {result.Real} + {result.Imaginary}i"); // Output: Result: 4 + 6i
    }
}

這些例子展示了如何通過重載運算符來實現自定義數據類型的特定操作,使代碼更加簡潔和易于理解。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女