注册 登录
编程论坛 新人交流区

C#经典编程视频教程

狂砍程序 发布于 2007-10-01 14:29, 641 次点击
我要点击清楚按扭时listbox2里面不是mp3文件就删除它,我现在的这程序能删除,但每次都是择半删除的,不是一次性删除的,帮我看下错哪了哈,谢谢落
private void Clear_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox2.Items.Count - 1; i++)
{
int n = listBox2.Items[i].ToString().LastIndexOf(".") + 1;
if (listBox2.Items[i].ToString().Substring(n, 3) != "mp3")
{
listBox2.Items.Remove(listBox2.Items[i]);
}
}

}

[此贴子已经被作者于2007-10-1 14:34:38编辑过]

1 回复
#2
smofbao2007-10-01 18:09

你的有这个问题呀!
每次的循环后的listbox2都会有所改变的
那个的item是不一样了 会有移动

你的算法应该这样的\
当程序不为MP3的时候 删除此程序,但循序的i不能加一 再次判断该listbox.items[i]是不是为MP3
当程序为MP3时候,不删除,循环i就加一,判断listbox.items[i]是不是为MP3
这样才是正确的

1