Сохранение данных из List в txt - C#

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

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

многопоточный парсер html. данные парсятся регулярными выражениями и заносятся в List <string>. примерный вид List: 1 12 123 1234 ... то есть, каждая новая строка отличается новым добавленным последним элементом. данные из List, периодически сохраняются в txt. реализовано так:
Листинг программы
  1. lock (vfail)
  2. if (vfail.Count > 0)
  3. {
  4. var sw = new StreamWriter("ALL.txt", true);
  5. foreach (var akk in vfail)
  6. sw.Write(akk);
  7. sw.Close();
  8. vfail.Clear();
  9. }
проблема в том, что в txt записываются все строки из List. отсюда получается множество дублей. т.к. данные в txt так и есть как List:
Листинг программы
  1. 1
  2. 12
  3. 123
  4. 1234
  5. ...
пробовал записывать последнюю строку из List - var x = vfail[vfail.Count - 1]; не помогает. почему-то все равно записывается с дублями. возможно из-за многопоточности, но почему тогда lock не срабатывает. в общем, как решить данную проблему? P.S. периодическая чистка List производится - vfail.Clear();

Решение задачи: «Сохранение данных из List в txt»

textual
Листинг программы
  1. // good парсим регуляркой
  2. result = string.Empty;
  3. foreach (Match m in good)
  4.                     {
  5.                         result = result + m.Value + "\r\n";
  6.                         lock (vfail)
  7.                         vfail.Add(result);
  8.                     }

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


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

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

15   голосов , оценка 3.667 из 5

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

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

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