2回目のログインで答えが表示されます.3元式です.

4347 ワード

今日ナ姉さんとITOをする过程の中でしたのは2回登录するページについてで、业务の流れは大体このようです:抽题;質問記録を抽出し、質問記録を自動的にページに記入します.
質問:
ITOのフロントページは動的にロードされるため、コードは以下の通りである:[csharp]view plain copy
コードシートをCODEで表示
私のコードシートに派生
List queryduoxuanti = IQuerySqlServiceBll.QueryDuoxuantiRecord(studentID)
[csharp] view plain copy
コードシートをCODEで表示
私のコードシートに派生
//複数選択問題を巡り、複数選択問題を画面に表示する
[csharp] view plain copy
コードシートをCODEで表示
私のコードシートに派生
for (int i = 0; i < queryduoxuanti.Count; i++) { int j = i + 1;
            string questioncontent = queryduoxuanti[i].QuestionContent;  
            string answer1 = queryduoxuanti[i].Answer1;  
            string answer2 = queryduoxuanti[i].Answer2;  
            string answer3 = queryduoxuanti[i].Answer3;  
            string answer4 = queryduoxuanti[i].Answer4;  


    //         examanwer      
            string examanswer = queryduoxuanti[i].ExamAnswer;  
                             
            //               
            StudentExamQuestion.Append("

" + j + "、" + questioncontent + "

"); StudentExamQuestion.Append("\r
"); StudentExamQuestion.Append("

A:" + answer1 + "

"); StudentExamQuestion.Append("

B:" + answer2 + "

"); StudentExamQuestion.Append("

C:" + answer3 + "

"); StudentExamQuestion.Append("

D:" + answer4 + "

"); }

だから私たちは直接viewページに行って自分の解答記録をページに修正することはできません.
ソリューション:
だから、三元表現を使いました.1.三元表現とは何ですか.3 Dオペレータペアを使用しますか?:3つのオペランドがあるため、このオペレータは3つのオペランドに属しますが、オペレータの1つに属し、最終的には値も生成されます.その式はboolean-exp?value0 : value1
式boolean-exp?value 0:value 1で、「ブール式」の結果がtrueの場合、「value 0」が計算され、この計算結果はオペレータが最終的に生成した値です.「ブール式」の結果がfalseの場合、「value 1」が計算され、オペレータが最終的に生成した値になります.
もちろん、通常のif-else文(後述)に置き換えることもできますが、三元オペレータはより簡潔です.それは簡潔な言語であり、三元オペレータの導入の多くはこのような効率的なプログラミングを体現するためであるが、頻繁に使用するつもりなら、まず多くの考えをしなければならない.読みやすさの悪いコードが発生しやすいからだ.この条件オペレータの使用目的は、その「副作用」のために、生成された値を演算するためにある場合があります.一般的に、if-elseとは異なる点で、その演算の結果値が必要です.次に例を示します.
[csharp] view plain copy
コードシートをCODEで表示
私のコードシートに派生
static int ternary(int i) { return i < 10 ? i * 100 : i * 10; }
上記のコードは,三元オペレータを用いないよりも非常にコンパクトであることがわかる[csharp]view plain copy
コードシートをCODEで表示
私のコードシートに派生
static int alternative(int i) { if (i < 10) return i * 100; else return i * 10; }
2つ目の形式は理解しやすく、あまり入力する必要はありません.したがって、三元オペレータを使用する場合は、必ずよく考えてください.2.三元式使用後のコード[csharp]view plain copy
コードシートをCODEで表示
私のコードシートに派生
List queryduoxuanti = IQuerySqlServiceBll.QueryDuoxuantiRecord(studentID); for (int i = 0; i < queryduoxuanti.Count; i++) { int j = i + 1;
          string questioncontent = queryduoxuanti[i].QuestionContent;  
          string answer1 = queryduoxuanti[i].Answer1;  
          string answer2 = queryduoxuanti[i].Answer2;  
          string answer3 = queryduoxuanti[i].Answer3;  
          string answer4 = queryduoxuanti[i].Answer4;  


          string examanswer = queryduoxuanti[i].ExamAnswer;  
                           
         //       :(examanswer.Contains ("A" )? "checked" : " ")  
          StudentExamQuestion.Append("

" + j + "、" + questioncontent + "

"); StudentExamQuestion.Append("\r
"); StudentExamQuestion.Append("

A:" + answer1 + "

"); StudentExamQuestion.Append("

B:" + answer2 + "

"); StudentExamQuestion.Append("

C:" + answer3 + "

"); StudentExamQuestion.Append("

D:" + answer4 + "

"); }

総括:私とナ姉は当時多くの論理的な方法を話して、やはり朝陽の先輩に聞いて、私たちに3元の表現式を教えてやっとこのように問題を解決することができることを知っています.多くの时、自分が学んだのはまだ足りないと思っているので、私は知識を補充して、ネットをよく調べなければならないと思います.