为了账号安全,请及时绑定邮箱和手机立即绑定

如何遍历列表框中的项目,然后删除那些项目?

如何遍历列表框中的项目,然后删除那些项目?

C#
慕虎7371278 2019-10-12 10:01:06
尝试遍历列表框然后删除项目时,出现以下错误。此枚举器绑定到的列表已被修改。如果列表不变,则只能使用枚举数。foreach (string s in listBox1.Items){    MessageBox.Show(s);    //do stuff with (s);    listBox1.Items.Remove(s);}如何删除该项目并仍然在其中循环浏览?
查看完整描述

3 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

您要删除所有项目吗?如果是这样,foreach请先执行此操作,然后再使用Items.Clear()删除所有这些。


否则,也许由索引器向后循环:


listBox1.BeginUpdate();

try {

  for(int i = listBox1.Items.Count - 1; i >= 0 ; i--) {

    // do with listBox1.Items[i]


    listBox1.Items.RemoveAt(i);

  }

} finally {

  listBox1.EndUpdate();

}


查看完整回答
反对 回复 2019-10-12
?
达令说

TA贡献1821条经验 获得超6个赞

这是我的解决方案,无需后退且没有临时列表


while (listBox1.Items.Count > 0)

{

  string s = listBox1.Items[0] as string;

  // do something with s

  listBox1.Items.RemoveAt(0);

}


查看完整回答
反对 回复 2019-10-12
  • 3 回答
  • 0 关注
  • 335 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信