[SOLVED] Как удалить из списка значения?

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
Всем привет. Как можно из списка удалить нужные мне значения с помощью c# ?
Пока работает только через "удалить строку", но для каждого предлога указывать свой кубик, это слишком муторно)
Пробовал указать так, но список не меняется и очищенный список не создается: (в данном случае мне нужно удалить все предлоги из списка ключевых слов)
Код:
//проверяем существование файла search_list
if (File.Exists(project.Variables["Lone_keys"].Value))
    project.SendInfoToLog("Файл " + new FileInfo(project.Variables["Lone_keys"].Value).Name + " существует");
else
    throw new Exception("Файла " + new FileInfo(project.Variables["Lone_keys"].Value).Name + " не существует");
//создаём список и грузим содержимое файла
List<string> search_list = new List<string>(File.ReadAllLines(project.Variables["Lone_keys"].Value));

//проверяем существование файла stop_list
if (File.Exists(project.Variables["Blacklist"].Value))
    project.SendInfoToLog("Файл " + new FileInfo(project.Variables["Blacklist"].Value).Name + " существует");
else
    throw new Exception("Файла " + new FileInfo(project.Variables["Blacklist"].Value).Name + " не существует");
//создаём список и грузим содержимое файла
List<string> stop_list = new List<string>(File.ReadAllLines(project.Variables["Blacklist"].Value));

//проверяем на стоп слова и удаляем их если они присутсвуют
foreach(string stp_word in stop_list)
    search_list.RemoveAll(item => item.Contains(stp_word));

//записываем результат в файл
File.WriteAllLines(project.Directory + @"\Lone_keys_fin.txt", search_list);
 

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
Всем привет. Как можно из списка удалить нужные мне значения с помощью c# ?
Пока работает только через "удалить строку", но для каждого предлога указывать свой кубик, это слишком муторно)
Пробовал указать так, но список не меняется и очищенный список не создается: (в данном случае мне нужно удалить все предлоги из списка ключевых слов)
Код:
//проверяем существование файла search_list
if (File.Exists(project.Variables["Lone_keys"].Value))
    project.SendInfoToLog("Файл " + new FileInfo(project.Variables["Lone_keys"].Value).Name + " существует");
else
    throw new Exception("Файла " + new FileInfo(project.Variables["Lone_keys"].Value).Name + " не существует");
//создаём список и грузим содержимое файла
List<string> search_list = new List<string>(File.ReadAllLines(project.Variables["Lone_keys"].Value));

//проверяем существование файла stop_list
if (File.Exists(project.Variables["Blacklist"].Value))
    project.SendInfoToLog("Файл " + new FileInfo(project.Variables["Blacklist"].Value).Name + " существует");
else
    throw new Exception("Файла " + new FileInfo(project.Variables["Blacklist"].Value).Name + " не существует");
//создаём список и грузим содержимое файла
List<string> stop_list = new List<string>(File.ReadAllLines(project.Variables["Blacklist"].Value));

//проверяем на стоп слова и удаляем их если они присутсвуют
foreach(string stp_word in stop_list)
    search_list.RemoveAll(item => item.Contains(stp_word));

//записываем результат в файл
File.WriteAllLines(project.Directory + @"\Lone_keys_fin.txt", search_list);
Частично нашел ошибку, теперь лезет другая: "путь имеет недопустимую форму"
Код:
//проверяем существование файла search_list
if (File.Exists(project.Variables["Lone_keys"].Value))
    project.SendInfoToLog("Файл " + new FileInfo(project.Variables["Lone_keys"].Value).Name + " существует");
else
    throw new Exception("Файла " + new FileInfo(project.Variables["Lone_keys"].Value).Name + " не существует");
//создаём список и грузим содержимое файла
List<string> Lone_keys = new List<string>(File.ReadAllLines(project.Variables["Lone_keys"].Value));
//проверяем существование файла stop_list
if (File.Exists(project.Variables["Blacklist"].Value))
    project.SendInfoToLog("Файл " + new FileInfo(project.Variables["Blacklist"].Value).Name + " существует");
else
    throw new Exception("Файла " + new FileInfo(project.Variables["Blacklist"].Value).Name + " не существует");
//создаём список и грузим содержимое файла
List<string> Blacklist = new List<string>(File.ReadAllLines(project.Variables["Blacklist"].Value));
//проверяем на стоп слова и удаляем их если они присутсвуют
foreach(string stp_word in Blacklist)
    Lone_keys.RemoveAll(item => item.Contains(stp_word));
//записываем результат в файл
File.WriteAllLines(project.Directory + @"\Sys_files\Lone_keys_fin.txt", Lone_keys);
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 080
Благодарностей
8 962
Баллы
113

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
Здесь пропишите полный абсолютный путь, включая букву диска.
Все равно та же ошибка лезет (
Код:
//проверяем существование файла Lone_keys
if (File.Exists(project.Variables["Lone_keys"].Value))
    project.SendInfoToLog("Файл " + new FileInfo(project.Variables["Lone_keys"].Value).Name + " существует");
else
    throw new Exception("Файла " + new FileInfo(project.Variables["Lone_keys"].Value).Name + " не существует");
//создаём список и грузим содержимое файла
List<string> Lone_keys = new List<string>(File.ReadAllLines(project.Variables["Lone_keys"].Value));
//проверяем существование файла Blacklist
if (File.Exists(project.Variables["Blacklist"].Value))
    project.SendInfoToLog("Файл " + new FileInfo(project.Variables["Blacklist"].Value).Name + " существует");
else
    throw new Exception("Файла " + new FileInfo(project.Variables["Blacklist"].Value).Name + " не существует");
//создаём список и грузим содержимое файла
List<string> Blacklist = new List<string>(File.ReadAllLines(project.Variables["Blacklist"].Value));
//проверяем на стоп слова и удаляем их если они присутсвуют
foreach(string stp_word in Blacklist)
    Lone_keys.RemoveAll(item => item.Contains(stp_word));
//записываем результат в файл
File.WriteAllLines(project.Directory + @"C:\Users\vinil\Downloads\Zeno\Мои_проекты\Сбор ключей+позиции\Sys_files\Lone_keys_fin.txt", Lone_keys);
 

Вложения

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 080
Благодарностей
8 962
Баллы
113
File.WriteAllLines(@"C:\Users\vinil\Downloads\Zeno\Мои_проекты\Сбор ключей+позиции\Sys_files\Lone_keys_fin.txt", Lone_keys);
Так тоже выбивает ошибку?
 

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
File.WriteAllLines(@"C:\Users\vinil\Downloads\Zeno\Мои_проекты\Сбор ключей+позиции\Sys_files\Lone_keys_fin.txt", Lone_keys);
Так тоже выбивает ошибку?
Вроде сам скрипт ошибок не выдает, но конечный файл не записывается просто
Кубики так должны быть, как на скрине?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 080
Благодарностей
8 962
Баллы
113
Вроде сам скрипт ошибок не выдает, но конечный файл не записывается просто
Кубики так должны быть, как на скрине?
Да, все верно, сначала подготавливаются вводные данные в зел. кубиках и потом делается вызов C# кода.
При выполнении идет по красному выходу или по зеленому из C# кубика?
 

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
Да, все верно, сначала подготавливаются вводные данные в зел. кубиках и потом делается вызов C# кода.
При выполнении идет по красному выходу или по зеленому из C# кубика?
Если не зацикливать кубик c#, то да, сразу по красному выходит.
Тут, я так понимаю, проблема в том, что он сравнивает 2е переменные 1 и 2, не находит совпадений и вылетает поэтому. Или так не должно быть?
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)