给复数赋值时出现Object reference not set to an instance of an object问题

img


请问大噶,这段代码想给复数的实部与虚部赋值,但是一直出现这种错误是为什么?
下面是关于复数类的定义
using System;
using System.Collections.Generic;
using System.Text;

namespace ems004
{
//复数类的一个定义
public class Complex
{
public Complex()
: this(0, 0)
{
}

    /// <summary>
    /// 只有实部的构造函数
    /// </summary>
    /// <param name="real">实部</param>
    public Complex(double real)
        : this(real, 0) { }

    /// <summary>
    /// 由实部和虚部构造
    /// </summary>
    /// <param name="real">实部</param>
    /// <param name="image">虚部</param>
    public Complex(double real, double image)
    {
        this.real = real;
        this.image = image;
    }

    private double real;
    /// <summary>
    /// 复数的实部
    /// </summary>
    public double Real
    {
        get { return real; }
        set { real = value; }
    }

    private double image;
    /// <summary>
    /// 复数的虚部
    /// </summary>
    public double Image
    {
        get { return image; }
        set { image = value; }
    }

    ///重载加法
    public static Complex operator +(Complex c1, Complex c2)
    {
        return new Complex(c1.real + c2.real, c1.image + c2.image);
    }

    ///重载减法
    public static Complex operator -(Complex c1, Complex c2)
    {
        return new Complex(c1.real - c2.real, c1.image - c2.image);
    }

    ///重载乘法
    public static Complex operator *(Complex c1, Complex c2)
    {
        return new Complex(c1.real * c2.real - c1.image * c2.image, c1.image * c2.real + c1.real * c2.image);
    }


    /// <summary>
    /// 求复数的模
    /// </summary>
    /// <returns></returns>
    public double ToModul()
    {
        return Math.Sqrt(real * real + image * image);
    }
}

}

input7是一个对象数组 你个某个对象属性赋值 得先有这个对象才有这个属性。
var complex=new Complex();
complex.Real=real[i];
complex.Image=imag[i];
input[7]= complex;