Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*---------------------------------
- Сниппеты для работы со списком
- *///-------------------------------
- var TempList = new List<string>(); // создаем наш список.
- //Прежде чем что-то удалить, нужно туда что-то добавить. Можно считать из файла данные или зенно лист туда положить, а я просто массив строк вкину.
- TempList.AddRange(new String[]{"la-la", "la-la", "be-be", "la", "", "", "ля-ля", "бе-бе", "", "ляяя", "fff", "yyy", "sss"});
- //Удалить все строки удовлетворяющие регулярному выражению.
- TempList.RemoveAll(x => Regex.IsMatch(x, @"la.*?"));
- //Удалить все строки не удовлетворяющие регулярному выражению.
- TempList.RemoveAll(x => !Regex.IsMatch(x, @"la.*?"));
- //Удалить все пустые строк и состоящие из пробелов или null.
- TempList.RemoveAll(x => String.IsNullOrWhiteSpace(x));
- //Удалить все строки которые содержат заданный текст (удаление по не точному совпадению).
- TempList.RemoveAll(x => x.Contains("la"));
- //Удалить все строки которые не содержат заданный текст (удаление по не точному совпадению).
- TempList.RemoveAll(x => !x.Contains("la"));
- //Удалить все строки которые содержат заданный текст (удаление по точному значению).
- TempList.RemoveAll(x => x.Equals("la", StringComparison.Ordinal));
- //Удалить все строки которые не содержат заданный текст (удаление по точному значению).
- TempList.RemoveAll(x => !x.Equals("la", StringComparison.Ordinal));
- /*
- Вывод в лог всего списка, чтоб поглядеть на результат.
- Просто так, для тех, кто не шарит и хочет поглядеть разнциу.
- Для понимания, можете просто закомментировать все "RemoveAll" и поочередно раскомментировать и глядеть, что будет выводить.
- */
- foreach (var s in TempList)
- project.SendInfoToLog(s);
- /*------------------------------------------------------------------------------
- Как вариант, можете использовать такую конструкицю для обработки IZennoList
- *///----------------------------------------------------------------------------
- var MyZennoList = project.Lists["Мой зенно список"]; // наш зенно список.
- var TempList2 = new List<string>(); // создаем наш временный список.
- //lock нужен для того, чтобы, если наш зенно список привязан к файлу, во время многопоточной работы не упало исключение (когда слишком много потоков долбят один и тот же файл одновременно).
- lock (SyncObjects.ListSyncer)
- {
- TempList2.AddRange(MyZennoList); // закидываем IZennoList во временный наш список.
- MyZennoList.Clear(); // очищаем наш IZennoList.
- TempList2.RemoveAll(x => !x.Equals("la", StringComparison.Ordinal)); // удаляем из временного списка всю бяку (варианты расписаны выше).
- MyZennoList.AddRange(TempList2); // кладем результат в наш зенно список.
- }
- //Так же вывод в лог все коллекции, просто так (выводит уже наш зенно список).
- foreach (var s in MyZennoList)
- project.SendInfoToLog(s);
Add Comment
Please, Sign In to add comment