这里使用什么类型的构造函数/方法?

What type of constructor / method is used here?

我正在寻找一种计算复数加法的方法,我看到了这个例子,但有一部分我不明白。这是 class:

的全部代码
  class Complex
    {


       public  int real, imaginary;

        public Complex()
        {

        }

        public Complex(int tempReal , int tempImaginary)
        {
            real = tempReal;
            imaginary = tempImaginary;
        }

        public Complex addComp(Complex C1 , Complex C2)
        {
            Complex temp = new Complex();
            temp.real = C1.real + C2.real;
            temp.imaginary = C1.imaginary + C2.imaginary;

            return temp;

        }


}

写的部分:

 public Complex addComp(Complex C1 , Complex C2)

我的问题首先是这是构造函数还是方法?我的下一个问题是为什么 Complex 写在 addComp[=23= 后面]?这怎么可能,它有什么意义?

addComp是一种方法,但是写的很烂!

观察:

  • addComp 应该 static 并采用两个参数,或者是非 static 并采用 一个;大多数情况下,实例方法不应忽略 this
  • addComp 几乎可以肯定是二进制 + 运算符,在上述情况下会是 static (C# 允许您重载许多运算符,包括 + )
  • Complex 可能应该是 readonly struct,而不是 class - 具有合适的运算符和重载,支持 IEquatable<Complex>,等等
  • realimaginary 应该是 properties,而不是 public fields