比较两个不同列表中的元素时遇到问题

时间:2015-07-15 11:26:08

标签: list arguments compare elements outofrangeexception

我正在尝试创建一个打字测试程序。我在比较这两个列表list1(10个随机单词)和list2(10个用户输入)中的元素时遇到了问题。以下是我收到的错误消息:ArgumentOutOfRangeException was unhandled

我不确定为什么,但是当我进入调试菜单时,它将list1的值显示为Count = 1,然后将list2的值显示为Count = 10 }。两个列表中的所有元素都是字符串。所以我的问题是如何按顺序比较这些列表中的元素(第一个列表的第一个元素与第二个列表的第一个元素),依此类推。

我对编码比较陌生,我不明白为什么下面的代码不起作用。我一直试图解决这个问题几个小时,所以提前感谢您的帮助!

`for (int i = 0; i < gameLength; i++) // The code below will loop 10 times
        {   
            List<string> list1 = new List<string>(); 
            string chosenWord = SelectWord(); // Selects a random word
            Console.Write(chosenWord + " "); // Prints the selected word
            list1.Add(chosenWord); // Adds the selected word to the list

            if (i == 9) // True once above code has been performed 10 times
            {   
                Console.WriteLine();
                List<string> list2 = new List<string>();

                for (int b = 0; b < 10; b++) // This will also loop 10 times
                {   
                    string userValue = UserInput(); // Gets user input
                    list2.Add(userValue); // Adds user value to list
                }

                for (int t = 0; t < 10; t++)
                {
                    if (list1[t] == list2[t]) // Here is the error
                    { 
                        score++;
                        Console.WriteLine(score);

                        /* The error occurs on the second pass
                         * when the value of t becomes 1, But i don't  
                        */ understand why that doesn't work.
                    }
                }
            }
        }`

0 个答案:

没有答案