idcode 为空或者stu[x].Code为空

解决方案 »

  1.   

    你stu在哪里定义的,多贴点代码
      

  2.   

    stu[x] 这个类是否被实例化   也许是个空值
      

  3.   

        public partial class Form1 : Form
        {
            student[] stu;
            int i = 0;
            public Form1()
            {
                InitializeComponent();
            }
            private void init_Click(object sender, EventArgs e)
            {
                stu = new student[Convert.ToInt32(textBox1.Text)];
                MessageBox.Show("succeed");
            }
            //add information  method                                                                                                            
            private void btnyes_Click(object sender, EventArgs e)
            {
                string chose = "";
                if (radioButton1.Checked == true)
                {
                    chose += "男";
                }
                if (radioButton2.Checked == true)
                {
                    chose += "女";
                }
                int popctrl = Convert.ToInt32(textBox1.Text);
                if (i <popctrl)
                {
                    stu = new student[Convert.ToInt32(textBox1.Text)];
                    stu[i] = new student();
                    stu[i].Code = txtcode.Text;
                    stu[i].Name = txtname.Text;
                    stu[i].Sex = chose;
                    stu[i].Age = Convert.ToInt32(cobage.Text);
                    stu[i].Grade = txtgrade.Text;
                    stu[i].Score = Convert.ToInt32(txtscore.Text);
                    Empty();
                    Listviewer();
                    i++;
                }
                else
                {
                    MessageBox.Show("Negative");
                }
            }这是那个数组定义以及那个添加方法
      

  4.   

    icode是字符串。直接做比较的话,即便null也不会报错。你出错时候。看看stu[i]是多少。可能是null。你对这个数组赋值的时候没复制完全。
      

  5.   

    List<T> lst=new List<T>();
    foreach(T t in lst)
    {}
      

  6.   

    使用LIST 泛型
    数组单步跟踪看null
      

  7.   

    stu[x] 这个类是否被实例化 也许是个空值
    同意。看看在哪定义的
      

  8.   

    你的循环语句错了
    if (i <popctrl)
      {
      stu = new student[Convert.ToInt32(textBox1.Text)];
      stu[i] = new student();
      stu[i].Code = txtcode.Text;
      stu[i].Name = txtname.Text;
      stu[i].Sex = chose;
      stu[i].Age = Convert.ToInt32(cobage.Text);
      stu[i].Grade = txtgrade.Text;
      stu[i].Score = Convert.ToInt32(txtscore.Text);
      Empty();
      Listviewer();
      i++;
      }
    应该是while吧,所以i最后为1,而你之后应用stu[x].Code时,stu[1]是没有实例化的
      

  9.   

    stu[x] 这个类是否被实例化 也许是个空值
      

  10.   

    if只初始化了一个stu[0],stu其他都为null
      

  11.   

    stu[x] 为空 
    你没所有初始化
      

  12.   

    你把你 stu的构造函数贴出来,你其中的Code属性是不是没有赋值,为NULL
      

  13.   

    stu = new student[Convert.ToInt32(textBox1.Text)];
      stu[i] = new student();
    为什么还要new一次?????????????
      

  14.   

     private void init_Click(object sender, EventArgs e)
      {
      stu = new student[Convert.ToInt32(textBox1.Text)];
      MessageBox.Show("succeed");
      }
    你在这里已经NEW过了,后面就不用再NEW了,你这里只是一个数组NEW了一个,而数组里面的对像是一个类,而在使用这个类的时候没有NEW,也就是相当于一个class 里面有一个public 字段, 而你只是用这个类
    如: class c 
    {
    public int code;
     ...}c c1;
    c1.code ;//这里当然会报错