Удаление строк по маске - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. private void Remove_Click(object sender, EventArgs e)
  2. {
  3. LogFile.Items.Clear();
  4. string[] Filter = { "\\WinSxS\\", "\\syswow64\\", "\\servicing\\" };
  5. for (int i = 0; i < 2; i++)
  6. {
  7. string FilterKey = Filter[i];
  8. string line;
  9. using (FileStream f = new FileStream("C:\\Log.txt", FileMode.Open))
  10. using (StreamReader sr = new StreamReader(f, Encoding.Default))
  11. while ((line = sr.ReadLine()) != null)
  12. {
  13. if (!line.Contains(FilterKey))
  14. {
  15. LogFile.Items.Add(line);
  16. }
  17. }
  18. WriteToFile(@"C:\\Log.txt", LogFile);
  19. }
  20. }
Удаляет только строки с первым значением массива (\\WinSxS''\\), остальные так и остаются, что я неправильно сделал? LogFile - листбокс(нужен для выведения информации из log.txt)

Решение задачи: «Удаление строк по маске»

textual
Листинг программы
  1. LogFile.Items.Clear();
  2. string[] Filter = { "\\WinSxS\\", "\\syswow64\\", "\\servicing\\" };
  3. string line;
  4. using (FileStream f = new FileStream("C:\\Log.txt", FileMode.Open))
  5. {
  6.     using (StreamReader sr = new StreamReader(f, Encoding.Default))
  7.         while ((line = sr.ReadLine()) != null)
  8.         {
  9.             bool contains = false;
  10.             for (int i = 0; i < 3; i++)
  11.             {
  12.                 string FilterKey = Filter[i];
  13.                 if (line.Contains(FilterKey))
  14.                     contains=true;
  15.             }
  16.             if (!contains)
  17.                 LogFile.Items.Add(line);
  18.         }
  19.      WriteToFile(@"C:\\Log.txt", LogFile);
  20. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут