我正在尝试创建一个打字测试程序。我在比较这两个列表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.
}
}
}
}`