C# WinForms 应用程序"DataRepeater.RemoveAt(index);" - 方法未在 for 循环中正确读取索引



我正在尝试清空 C# WinForm 应用程序上的 DataRepeater。

单击该按钮时,它会检查显示的项目数是否不为 null。因此,for 循环调用 .删除方法每个索引。

我不断收到超出范围异常

int countResults;
private void btnGo_Click(object sender, System.EventArgs e)
{
if (countResults != 0)
{
for (int i = 0; i < countResults; i++)
{
if (i >= countResults)
{
break;
}
dataRepeater1.RemoveAt(i);                    
}
}
// Assign item count value
countResults = dataRepeater1.ItemCount;
}

您需要在循环之前设置计数。您也不需要if语句。

int countResults;
private void btnGo_Click(object sender, System.EventArgs e)
{
// Assign item count value
countResults = dataRepeater1.ItemCount;
if (countResults != 0)
{
for (int i = 0; i < countResults; i++)
{
dataRepeater1.RemoveAt(i);                    
}
}        
}