В настоящее время я пытаюсь создать программу тестирования ввода текста. У меня возникают проблемы с сравнением элементов внутри этих двух списков list1 (10 случайных слов) и list2 (10 пользовательских входов). Вот сообщение об ошибке, которое я получаю: ArgumentOutOfRangeException was unhandled
.Проблемы с сопоставлением элементов из двух разных списков
Я не знаю, почему, но когда я иду в меню отладки, он показывает «значение с, как Count = 1
, но затем list2
» list1
значение s как 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.
}
}
}
}`
@David Вы были правы! Большое вам спасибо за вашу помощь! Я очень ценю это. – PtempestC