我当前的代码:
Remove()
{
for (int i = 0; i < ConGridView.RowCount; i++)
{
if (ConGridView.Rows[i].Cells[0].Value.ToString() == Address)
{
ConGridView.Rows.RemoveAt(i);
break;
}
}
}
所以每次客户端断开连接时我都试图调用删除函数。该函数将从 datagridview 中删除连接地址。当客户端一个一个断开连接时,它工作得很好。但是,如果 100 个连接被丢弃并且它试图在不到一秒的时间内删除 100 个连接,那么它就会出错,说“提供的行索引超出范围”。我应该如何检查?
到目前为止,我已经尝试过:尝试,抓住。if (ConGridView.Rows[i] != null), if (i < ConGridView.RowCount) 到目前为止似乎都不起作用。我还使用 (i < ConGridView.RowCount) 得到了结果,其中 i 为 26,而 RowCount 为 24,但 remove at 函数仍然激活..
对此有任何想法吗?