把listbox1当中,不等于"aaa"的项删除我的写法是这样的:
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox1.Items.Count; i++)
{ if (listBox1.Items[i].ToString() != "aa")
{ listBox1.Items.Remove(listBox1.Items[i]);
}
}
}但这样做,就出现了问题,一下子删不完,因为,边删,Count的数字就会变化,要多点几次button,才能删完,能不能用foreach,请大师指教
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox1.Items.Count; i++)
{ if (listBox1.Items[i].ToString() != "aa")
{ listBox1.Items.Remove(listBox1.Items[i]);
}
}
}但这样做,就出现了问题,一下子删不完,因为,边删,Count的数字就会变化,要多点几次button,才能删完,能不能用foreach,请大师指教
foreach (object s in listBox1.Items)
{
if (s.ToString() == "aaa")
{ aaaItems.Add(s);
}
}foreach (object o in aaaItems)
{
listBox1.Items.Remove(o);
}
for (int ii = i; ii >= 0; ii--)
{
if (this.listBox1.Items[ii].ToString() != "aaa")
{
this.listBox1.Items.RemoveAt(ii);
}
}