c# - 在 C# 中创建复数类

标签 c#

我尝试使用两个不同的构造函数在 C# 中创建复数类,第一个构造函数采用实部和虚部,第二个构造函数采用模块和参数。

public class Complex
{
    public Complex() { }

    private Complex(double _re, double _im)
    {
        re = _re;
        im = _im;
    }

    public static double Complex_FromCartesian(double _re, double _im)
    {
        return new Complex(_re, _im);
    }

    public static double Complex_FromPolar(double _mod, double _arg)
    {
        var _re = _mod * Math.Cos(_arg);
        var _im = _mod * Math.Sin(_arg);
        return new Complex(_re, _im);
    }

    public static Complex operator +(Complex num1, Complex num2)
    {
        return new Complex(num1.re + num2.re, num2.im + num2.im);
    }

    public static Complex operator -(Complex num1, Complex num2)
    {
        return new Complex(num1.re - num2.re, num2.im - num2.im);
    }

    public double Re { get; set; }
    public double Im { get; set; }

    private double re, im;
}

但是我在两个构造函数中都遇到了同样的错误
enter image description here
如何解决?

最佳答案

您的方法返回一个 double 但您试图返回一个 Complex 类型

改变:

public static double Complex_FromCartesian(double _re, double _im)
{
    return new Complex(_re, _im);
}

收件人:

public static Complex Complex_FromCartesian(double _re, double _im)
{
    return new Complex(_re, _im);
}

关于c# - 在 C# 中创建复数类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17465911/

相关文章:

c# - 有没有办法强制 C# 类实现某些静态函数?

c# - 发生类型为 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' 的第一次机会异常

c# - 如果默认为空,在 C# 中使用空合并运算符是否总是多余的?

c# - 这个函数的内存泄漏在哪里?

c# - silverlight 绑定(bind)到自定义控件中的依赖项属性

c# - 更改 PlaceholderText 的文字颜色(Windows 8.1 App)

c# - Q# 环境不一致

c# - 获取音频混合器中可视化的单个 Windows 应用程序当前音量输出级别

C# 在参数名称前加上@

c# - 当从另一个线程修改对象属性时引发 OnPropertyChanged