/* ВЫЧИТАНИЕ ОДНОГО СПИСКА ИЗ ДРУГОГО
ПОЛЕЗНО ПРИ РЕАЛИЗАЦИИ ЧЁРНОГО СПИСКА */
// Добавить в OwnCode (Общий код) в конце:
/* namespace ZennoHelpers
{
public class Locker
{
public static object CustomListSyncer = new object();
}
} */
// BlackList - список с игнорируемыеми элементами
List<string> blackList = project.Lists["BlackList"].ToList();
// SourceList - исходный список
List<string> sourceList = project.Lists["SourceList"].ToList();
// ResultList - результат вычитания исходного списка и чёрного списка
IZennoList resultList = project.Lists["ResultList"];
lock(ZennoHelpers.Locker.CustomListSyncer)
{
List<string> exclude = new List<string>();
exclude = sourceList.Except(blackList).ToList();
resultList.AddRange(exclude);
}
var list1 = project.Lists["Полный список"];
var list2 = project.Lists["Короткий список"];
var list3 = list1.Except(list2);
project.Lists["Конечный список после исключения"].AddRange(list3);
Спасибо)Я вот так чищу:
Соответственно, названия списков вставляем свои ))C#:var list1 = project.Lists["Полный список"]; var list2 = project.Lists["Короткий список"]; var list3 = list1.Except(list2); project.Lists["Конечный список после исключения"].AddRange(list3);
Вот рабочий шаблон с этим кодом.Чтото у меня не получилось((
сейчас ваш попробую)Думается, как минимум, стоило бы сказать, какой код именно сработал, чтобы можно было искать вариант, что за цифры. Но, думается, они в первоначальном списке могли быть (ну, по крайней мере, у меня с тем кодом, что я написал, проблем не возникало никогда с фантомными строками) ))
Прошу прощения, с вашим начал работать кодом, но потом прислали готовый вариант и переключился на него))Думается, как минимум, стоило бы сказать, какой код именно сработал, чтобы можно было искать вариант, что за цифры. Но, думается, они в первоначальном списке могли быть (ну, по крайней мере, у меня с тем кодом, что я написал, проблем не возникало никогда с фантомными строками) ))
Ваш тоже работает, но также отступы между строками пропадают, цифры не появляютсяДумается, как минимум, стоило бы сказать, какой код именно сработал, чтобы можно было искать вариант, что за цифры. Но, думается, они в первоначальном списке могли быть (ну, по крайней мере, у меня с тем кодом, что я написал, проблем не возникало никогда с фантомными строками) ))
Попробуйте вот так.Можно в исходном файле эти строки просто вычесть, без возврата в другой список?
Нашел откуда цифры появляются)Попробуйте вот так.
В качестве разделителя просто отступ - enterРазбирайся со списками, не исключено, что криво сформированы (может, разделители разные или, наоборот, что-то в качестве разделителя, что есть в самом тексте). Код банальнейший, просто вычитает одно из другого, юзаю несколько лет. Показал бы списки, было бы проще ))
ps. А, у тебя еще и файлы, а не просто списки. Надо было сразу обозначать. И список к файлу, наверное, сразу в настройках списка привязан?
А как вам доступно показать, что код работает? Добавляем в списки числа. В список SourceList добавлены числа от 1 до 100. В список BlackList добавлены рандомные числа.Нашел откуда цифры появляются)
А так ничего не произошло
аааА как вам доступно показать, что код работает? Добавляем в списки числа. В список SourceList добавлены числа от 1 до 100. В список BlackList добавлены рандомные числа.
После выполнения кода в списке SourceList останутся только те числа (т.е. строки), которых нет в списке BlackList.
Вместо кубиков добавления текста в списки SourceList и BlackList добавьте кубики привязки к этим спискам файлов, с которыми работаете.