解决方案 »

  1.   

    Study[] Study_Data = new Study[100];
    这只是new了100个study对象,而每个study对象内部的数组并没有分配空间,你访问当然出错了,要多每个对象中的数组new
      

  2.   

    每个study对象内部的数组的空间应该怎么分配?不会啊
      

  3.   

    Quote: 引用 1 楼 bdmh 的回复:

    每个study对象内部的数组的空间应该怎么分配?不会啊 ,求版主帮忙啊,菜鸟感激不尽
      

  4.   

    Study[] Study_Data = new Study[100];这里只是初始化了一个数组而已。就好比,你做了一个能装得个十个盒子的大箱子,但里面还没放盒子一样,直接大箱子[0]是为null的,因为大箱子里面是没有添加盒子,而盒子能放十个蛋糕,但还没初始化,所在大箱子[0].盒子[0]也是null的。应该这样写。class Study
        {
            public double[] input { get; set; }
            public double[] teach { get; set; }
            //加个构造函数初始化input,teach两个数组
            public Study()
            {
                input = new double[100];
                teach = new double[100];
            }
    ////////////////别的方法里头就能这么写了。
               Study[] Study_Data = new Study[100];
                for (int i = 0; i < Study_Data.Length;i++ )
                {
                    Study_Data[i] = new Study();//初始化每个Study
                }
                //string[] strArry = (str).Split(' ');
               //Study_Data[m].input[i] = Convert.ToDouble(strArry[j]);
        };