Ошибка: System.IndexOutOfRangeException: "Индекс находился вне границ массива."
private void button1_Click(object sender, EventArgs e)
{
if (selected_response == correct_answers_number) correct_answers =
correct_answers + 1;
if (selected_response != correct_answers_number)
{
wrong_answers = wrong_answers + 1;
array[wrong_answers] = label1.Text;
}
if (button1.Text == "Начать тестирование сначала")
{
button1.Text = "Следующий вопрос";
radioButton1.Visible = true;
radioButton2.Visible = true;
radioButton3.Visible = true;
start(); return;
}
if (button1.Text == "Завершить")
{
Read.Close();
radioButton1.Visible = false;
radioButton2.Visible = false;
radioButton3.Visible = false;
label1.Text = String.Format("Тестирование завершино.\n" +
"Правельных ответов:{0} из {1}.\n" +
"Набранные баллы: {2:F2}.", correct_answers,
quection_count, (correct_answers * 5.0F) / quection_count);
button1.Text = "Начать тестирование сначала";
var Str = "Список ошибок" +
":\n\n";
for (int i = 1; i <= wrong_answers; i++)
Str = Str + array[i] + "\n";
if(wrong_answers != 0) MessageBox.Show(
Str, "Тестирование завершино");
if (button1.Text == "Следующий вопрос") вопрос();
}
}
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Посмотрите какой длины у вас array. Потом посмотрите какое число у вас выдаёт wrong_answers при ошибке. Сопоставьте эти два факта)) Оцените, есть ли у вас в массиве такой индекс, который выдаёт wrong_answers
А чтобы можно было посмотреть информацию в процессе - вот вам в помощь: C# - Debugging (Отладка)
и ещё информация по отладке с оф. сайта: Microsoft - Учебник. Сведения об отладке кода C# с помощью Visual Studio
