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()-1 の代わりに lstQuestion.Count();

また動作しません。

QuestionNo は、データベース テーブルの列です。

完全なエラー:

ここに画像の説明を入力

if ステートメント全体を削除すると、正常に動作します。

4

4 に答える 4

0

あなたはi3回インクリメントしています。これを試して:

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] には、他の lstQuestion[i] 参照のように小文字の L ではなく、数字の 1 があります。

于 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 に答える