Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何初始化复数数组,以便显示相位、幅值等属性_C#_Winforms_Complex Numbers - Fatal编程技术网

C# 如何初始化复数数组,以便显示相位、幅值等属性

C# 如何初始化复数数组,以便显示相位、幅值等属性,c#,winforms,complex-numbers,C#,Winforms,Complex Numbers,所以我有两种形式。一个表单获取数字并计算复数,然后将其保存到form1数组中。一切都被正确地传递和计算。我得到我的复杂数组没有问题。问题是当我试图得到复数的相位时。我知道幅值和相位是复杂结构的属性,因此我可以只执行load_Results.magnity或load_Results.phase并获得相应的值,但它没有给我将其作为属性的选项。我是否在表格1中以错误的方式初始化了它们?我如何才能使这些属性显示出来 这就是我的错误: Error 24 'System.Array' does not

所以我有两种形式。一个表单获取数字并计算复数,然后将其保存到form1数组中。一切都被正确地传递和计算。我得到我的复杂数组没有问题。问题是当我试图得到复数的相位时。我知道幅值和相位是复杂结构的属性,因此我可以只执行load_Results.magnity或load_Results.phase并获得相应的值,但它没有给我将其作为属性的选项。我是否在表格1中以错误的方式初始化了它们?我如何才能使这些属性显示出来

这就是我的错误:

Error   24  'System.Array' does not contain a definition for 'Magnitude' and no extension method 'Magnitude' accepting a first argument of type 'System.Array' could be found (are you missing a using directive or an assembly reference?)
表格一

 public static  double[] freqList;
 public static Complex[] load_Results;


public form 1()
{           InitializeComponent();
            freqList = new double[801];
            load_Results = new Complex[801];

}

private void click_view(object sender, EventArgs e)
{ // part that fails
Graph.Series[0].Points.AddXY(freqList,load_Results.Magnitude);
}
表格二

private void test()
        {                    
             form1.load_Results[i] = Calculations(form1.freqList[i]);


        }
public Complex Calculations(double freq)
        {   Complex cval = new Complex();
            double mag, phase;
            //does math stuff to calculate mag and phase
            cval = Complex.FromPolarCoordinates(mag, phase);
            return (cval);
        }

load_Results是一个数组,其中包含复杂类型的元素。您需要从该数组的每个元素中获取magnize属性并返回该属性。例如:

Graph.Series[0].Points.AddXY(freqList, load_Results.Select(x => x.Magnitude).ToArray());

试着养成使用C#命名和句法约定的习惯。变量不获取下栏:说
加载结果
,而不是
加载结果
。使用整句话:
frequency
,而不是
freq
。不要在:
返回值中插入不必要的括号
返回(cval)