Сохранение данных из List в txt - C#
Формулировка задачи:
многопоточный парсер html.
данные парсятся регулярными выражениями и заносятся в List <string>.
примерный вид List:
1
12
123
1234
...
то есть, каждая новая строка отличается новым добавленным последним элементом.
данные из List, периодически сохраняются в txt.
реализовано так:
проблема в том, что в txt записываются все строки из List. отсюда получается множество дублей.
т.к. данные в txt так и есть как List:
пробовал записывать последнюю строку из List - var x = vfail[vfail.Count - 1];
не помогает. почему-то все равно записывается с дублями. возможно из-за многопоточности, но почему тогда lock не срабатывает.
в общем, как решить данную проблему?
P.S.
периодическая чистка List производится - vfail.Clear();
Листинг программы
- lock (vfail)
- if (vfail.Count > 0)
- {
- var sw = new StreamWriter("ALL.txt", true);
- foreach (var akk in vfail)
- sw.Write(akk);
- sw.Close();
- vfail.Clear();
- }
Листинг программы
- 1
- 12
- 123
- 1234
- ...
Решение задачи: «Сохранение данных из List в txt»
textual
Листинг программы
- // good парсим регуляркой
- result = string.Empty;
- foreach (Match m in good)
- {
- result = result + m.Value + "\r\n";
- lock (vfail)
- vfail.Add(result);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д