C #: Если в списке есть определенное слово, удалить этот элемент? - PullRequest
0 голосов
/ 21 ноября 2011

Как создать цикл for, который, если в списке есть элемент, который, например, содержит слово "hi", удалит его?

Я начал работать с этим, но он не работал:

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

Ответы [ 2 ]

0 голосов
/ 21 ноября 2011

вы можете попробовать вот так ....

Итерация с использованием индекса, начиная с последнего элемента:

for (int n = listBox1.Items.count - 1; n >= 0; --n)
{
    string removelistitem = "HI";
    if (listBox1.Items[n].ToString().Contains(removelistitem))
    {
        listBox1.Items.RemoveAt(n);
    }
}
0 голосов
/ 21 ноября 2011

Вы можете использовать регулярные выражения!Используйте 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--);

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...