for(int i=0;i<n;i++)
        {
            QuestionChild singelQuestionChild=new QuestionChild();
            singelQuestionChild.PK_Question=reQuestionMain[i].PK_Question.ToString();
            List<QuestionChild> singleQuestionChilds=new QuestionChildDA().RunProcGetTable1(singelQuestionChild);
            QuestionChild singels=singleQuestionChilds[0];
            for (int b = 0; b < singleQuestionChilds.Count; b++)
            {
                reQuestionMain[i].QuestionChild[b].PK_QuesChild =singleQuestionChilds[b].PK_QuesChild.ToString();
                reQuestionMain[i].QuestionChild[b].PK_Question = singleQuestionChilds[b].PK_Question.ToString();
                reQuestionMain[i].QuestionChild[b].PK_Corp = singleQuestionChilds[b].PK_Corp.ToString();
                reQuestionMain[i].QuestionChild[b].PK_Product = singleQuestionChilds[b].PK_Product.ToString();
                reQuestionMain[i].QuestionChild[b].Quantity =Convert.ToSingle(singleQuestionChilds[b].Quantity);
                reQuestionMain[i].QuestionChild[b].QUnit = singleQuestionChilds[b].QUnit.ToString() ;
                reQuestionMain[i].QuestionChild[b].Worthiness =Convert.ToSingle(singleQuestionChilds[b].Worthiness);
                reQuestionMain[i].QuestionChild[b].Destination = singleQuestionChilds[b].Destination.ToString();
                reQuestionMain[i].QuestionChild[b].TStartDate = singleQuestionChilds[b].TStartDate.ToString();
                reQuestionMain[i].QuestionChild[b].TEndDate = singleQuestionChilds[b].TEndDate.ToString();
                reQuestionMain[i].QuestionChild[b].Operator = singleQuestionChilds[b].Operator.ToString();
                reQuestionMain[i].QuestionChild[b].TS = singleQuestionChilds[b].TS.ToString();
            }
        }红色字体部分老是出现这个错误,可是记录中明明是有值的啊,到底是哪错了?急急急!

解决方案 »

  1.   

    reQuestionMain[i].QuestionChild[b].PK_QuesChild =singleQuestionChilds[b].PK_QuesChild.ToString(); 
    其中有一个是没有实例
      

  2.   

    reQuestionMain,singleQuestionChilds都实例化了,QuestionChild是在reQuestionMain中声明的一个类 类型的属性,也要再声明吗?
      

  3.   

    List <QuestionChild> singleQuestionChilds=new QuestionChildDA().RunProcGetTable1(singelQuestionChild); reQuestionMain[i].QuestionChild[b].PK_QuesChild =singleQuestionChilds[b].PK_QuesChild.ToString(); 你注意这两块代码。
    首先你看看出错时,b,i的值是多少?
    然后确定singleQuestionChilds是否有那个值,或者是否维数有那么多
      

  4.   

    你不能光看singleQuestionChilds是否有值,得在Watch窗口里看每一段 reQuestionMain[i].QuestionChild[b].PK_QuesChildbsingleQuestionChilds[b]singleQuestionChilds[b].PK_QuesChild 是否有值才行