我在从 C# 的列表中删除项目时遇到问题。我当前的代码如下:
for (int i = current.Count - 1; i >= 0; i--)
{
foreach (ListItem li in sp_list.Items)
{
if (li.Text == current[i].uname)
{
current.RemoveAt(i);
}
}
}
代码的目的是将列表框中的现有项目与新添加的项目进行比较,以便我知道刚刚添加了哪些项目。所以目前我正在从数据库中获取当前的列表框项目(它们存储在这里,它是一个数据绑定列表框),将它们输入到一个列表中,对于每个列表项,将它们与列表框中的项目进行比较,然后如果它们匹配,则从列表中删除该项目。
因此,最后,如果我添加两个新条目,列表应该只存储两个新添加的值。
该代码无法正常工作,因为第一项被删除得很好,但是 i 的值大于 current.count - 因此我得到一个超出范围的异常!
有人可以帮我解决这个问题吗?抱歉这个令人困惑的问题,很难解释!谢谢