簡體   English   中英

在C#中創建類復數

[英]Create class Complex number in 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;
}

}

但是我在兩個構造函數中都遇到了同樣的錯誤
在此輸入圖像描述
如何解決?

您的方法返回一個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);
}

將該方法的返回類型更改為Complex

當雙重預期時,你不能返回Complex

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

你的構造函數很好。 問題是你已經指定了double的返回類型,並且你正在返回一個類型為“Complex”的類。

數據類型不匹配時會發生此錯誤。 它期待“復雜”數據類型,你告訴它是雙重的。 雙重變為復雜

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM