1

我在这里有这段代码,基本上我正在做一个for循环,因为我从数据库中检索记录(使用实体框架)但是当我想使用if语句进行比较时出现错误:

       IList<Model.question> lstQuestion = qn.GetRecords(taskID, activityID);

        for(int i = 0 ; i <lstQuestion.Count()-1 ; i++)
        {
             .... //code here

            if(lstQuestion[i].QuestionNo == lstQuestion[i++].QuestionNo) // error at i++
            {
                tb.Text = lstQuestion[i++].QuestionContent;
                sp1.Children.Add(tb);
            }

我试过了

lstQuestion.Count() 而不是 lstQuestion.Count()-1;

也不行。

QuestionNo 是我的数据库表中的一列。

完整错误:

在此处输入图像描述

当我删除整个 if 语句时,它工作正常。

4

4 回答 4

0

你增加i了三倍。尝试这个:

for(int i = 0 ; i <lstQuestion.Count(); i++)
        {
             .... //code here

            if(lstQuestion[i].QuestionNo == 1stQuestion[i+1].QuestionNo) // error at i++
            {
                tb.Text = lstQuestion[i+1].QuestionContent;
                sp1.Children.Add(tb);
            }
于 2013-07-17T03:36:15.940 回答
0

您在 == 1stQuestion[i] 中有一个数字 1,而不是像 ohter lstQuestion[i] 引用中的小写 L。

于 2013-07-17T03:37:25.357 回答
0

尝试使用 ++i 而不是 i++。

IList<Model.question> lstQuestion = qn.GetRecords(taskID, activityID);

        for(int i = 0 ; i <lstQuestion.Count()-1 ; i++)
        {
             .... //code here

            if(lstQuestion[i].QuestionNo == lstQuestion[++i].QuestionNo) // error at i++
            {
                tb.Text = lstQuestion[i].QuestionContent;
                sp1.Children.Add(tb);
            }
于 2013-07-17T07:20:11.077 回答
0

这应该可以解决您的 if 语句问题。

    for(int i = 0 ; i <lstQuestion.Count()-1; i++)
    {
         .... //code here

        if(lstQuestion[i].QuestionNo == 1stQuestion[i+1].QuestionNo) 
        {
            tb.Text = lstQuestion[i+1].QuestionContent;
            sp1.Children.Add(tb);
        }

但我认为你在这条线上遇到了错误

                      sp1.Children.Add(tb);
于 2013-07-17T04:27:43.193 回答