Сохранение данных из 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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д