2

文字列にリストのすべての入力が含まれているかどうかを確認して試し てみましたが、「オーストラリアを発見したのは誰ですか」などの基本的な質問があり、答えに「キャプテン、クック」のようにキーワードを入れた場合それは私が質問を間違えたと言うでしょう。

私が間違っていることを考えてください。使用しているコード:

            GivenAnswer = textBox1.Text;
            String invariantText = textBox1.Text.ToUpperInvariant();
            bool matches = KeyWords.All(kw => invariantText.Contains(kw.ToUpperInvariant()));
                if (matches)
                {
                    correct++;
                    if (InstantResult) { MessageBox.Show("Questions Answered Correctly", "Answer Results", MessageBoxButtons.OK, MessageBoxIcon.Information); }
                }
                else
                {
                    incorrect++;
                    if (InstantResult) { MessageBox.Show("Question Answered Wrong, sorry!", "Answer Result", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); }
                }
            Study_Helper.Form1.QuestionResults.Add(Question + "|" + (matches ? "true" : "false") + "|" + (Exact? "N/A" : KeyWords_Found()) + "|" + (Hint_Used ? "true" : "false") + "|" + GivenAnswer.ToLowerInvariant());
            LoadUp();
            textBox1.Clear();
            textBox1.Focus();
4

2 に答える 2

1

デバッグ目的で、期待値が含まれていることKeyWordsを確認します。invariantTextデバッガーを使用するか、Console.WriteLine().

ここで、単体テストが重要になります。NUnit または MSTest は、C#/VS 開発に使用できます。

于 2013-02-10T03:23:26.060 に答える
0

私の質問に対する最初のコメントに感謝します。私は実際に配列リストをクリアしたことがないことを思い出しました。このチェックを行った後、必要以上の値をキーワードリストに取得しないように配列リストをクリアしてください。

KeyWords.Clear();
于 2013-02-10T03:18:30.660 に答える