|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.03.2016, 21:37 | #1 |
Пользователь
Регистрация: 07.03.2016
Сообщений: 16
|
Сохранение данных из List<string> в txt
многопоточный парсер html.
данные парсятся регулярными выражениями и заносятся в List <string>. примерный вид List: 1 12 123 1234 ... то есть, каждая новая строка отличается новым добавленным последним элементом. данные из List, периодически сохраняются в txt. проблема в том, что в txt записываются все строки из List. отсюда получается множество дублей. пробовал записывать последнюю строку из List - var x = vfail[vfail.Count - 1]; не помогает. почему-то все равно записывается с дублями. возможно из-за многопоточности, но почему тогда lock не срабатывает. в общем, как решить данную проблему? код: List<string> vfail = new List<string>(); - глобально в проекте. основной метод: PHP код:
PHP код:
PHP код:
вот он мне все эти строки и сохраняет в файл. вот пример отчёта файла txt -> url P.S. периодическая чистка List производится - vfail.Clear(); сам проект как есть - url можно конечно реализовать и без List, в методе main: спарсить данные, сформировать result, открыть txt, записать result, закрыть txt. Но тогда резко увеличивается время работы программы, т.к. много страниц для парсинга. Последний раз редактировалось nomerasd; 20.03.2016 в 21:50. |
20.03.2016, 23:41 | #2 | |||
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Цитата:
Цитата:
Если не кеширует, весь текст нужно аккумулировать в одной строке, не в коллекции. Причём result должен быть типа StringBuilder, а не string, иначе на каждой итерации у вас впустую будет создаваться новый экземпляр. Цитата:
https://msdn.microsoft.com/en-us/library/c5kehkcz.aspx http://stackoverflow.com/questions/6...-is-a-bad-idea Последний раз редактировалось ds.Dante; 20.03.2016 в 23:45. |
|||
20.03.2016, 23:48 | #3 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Для парсинга HTML обычно проще взять библиотеку для парсинга HTML, чем регексп. HtmlAgilityPack например.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
21.03.2016, 00:39 | #4 |
Пользователь
Регистрация: 07.03.2016
Сообщений: 16
|
|
21.03.2016, 00:41 | #5 |
Пользователь
Регистрация: 07.03.2016
Сообщений: 16
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать из string бинарных данных Unicode txt | Krasi | Общие вопросы .NET | 11 | 06.11.2015 12:31 |
алгоритм BWT. List<string>.qSort / Array(char).BubbleSort | Lime | C# (си шарп) | 11 | 26.11.2012 17:29 |
сохранение\ загрузка List View в\из бинарного файла | bulldog5293 | Общие вопросы Delphi | 6 | 12.07.2010 13:59 |
С++ list, string... | napanin | Общие вопросы C/C++ | 2 | 02.12.2009 18:55 |
длина List<string> | Acmilan6 | Общие вопросы .NET | 3 | 17.05.2009 21:51 |