C#:如果列表框中有某个单词删除该项?

时间:2011-11-20 22:49:16

标签: c# listbox for-loop

如何制作for循环,如果列表框中有一个项目,例如其中包含单词"hi",它会删除它吗?

我开始使用它,但它没有用:

 if (listBox6.Items.ToString() == " ")
 {
     for (int i = 0; i < listBox6.SelectedItems.Count; i++)
     {
          listBox6.Items.Remove(listBox6.SelectedItems[i]);
     }
 }

2 个答案:

答案 0 :(得分:0)

你可以使用正则表达式! 使用Regex.match查找您要查找的单词,然后从列表框中删除该项目。类似下面的内容

for (int i = 0; i < listBox1.Items.Count; ++i)
{
  string input = listBox1.Items[i].ToString();

    // Here we call Regex.Match.
    Match match = Regex.Match(input, @"hi", RegexOptions.IgnoreCase);

    // Here we check the Match instance.
    if (match.Success)
    {

         listBox1.Items.RemoveAt(i--);

    }

}

答案 1 :(得分:0)

你可以尝试这样......

使用索引迭代,从最后一项开始:

for (int n = listBox1.Items.count - 1; n >= 0; --n)
{
    string removelistitem = "HI";
    if (listBox1.Items[n].ToString().Contains(removelistitem))
    {
        listBox1.Items.RemoveAt(n);
    }
}