Мне нужно сделать простое приложение для форм Windows, в котором игрок по очереди поворачивается с компьютером, беря палки (которые я сделал из ярлыков, которые становятся невидимыми), но у меня проблема с кодом для ПК, поскольку это приводит к ошибке «индекс вне диапазона» во время выполнения, и я не могу понять это ..Ошибка выполнения C#: индекс за пределами диапазона
private void pcTake(int x)
{
textBox1.Text = "I take " + x;
for (int i = 0; i < labels.Count; i++)
{
if (labels[i].Visible == false && labels[i + 1].Visible == true)
{
while (x > 0)
{
if (x + i > labels.Count)
break;
labels[i + x].Visible = false;
x--;
}
break;
}
}
}
х случайное число, этикетки является список, содержащий метки
foreach (Control c in this.Controls)
{
if (c is Label)
{
labels.Add(c);
c.Enabled = true;
}
}
заранее спасибо
Установили вы контрольную точку, отслеживал значений г и х, и выяснял, какая строка кода erroring вне дома? Шаг 1 при устранении этой ошибки - это знать, какой индекс массива вы используете, и длину массива. Информацию о контрольных точках см. На http://msdn.microsoft.com/en-us/library/ktf38f66%28v=vs.71%29.aspx – David