Поиск значения в списке

noble

Пользователь
Регистрация
09.10.2014
Сообщения
121
Благодарностей
8
Баллы
18
Есть значение в переменой.
Есть список со значения.
Нужно сравнить значение из переменной со значениями из списка, если окажется так, что в списке нет значения из переменной то его нужно добавить "список" и выполнить "действие 1"
Если же окажется, что значение из переменной уже присутствует в списке то нужно выполнить "действие 2"
Подскажите как реализовать ?
 

sergodjan66

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
13 771
Благодарностей
5 632
Баллы
113
Есть значение в переменой.
Есть список со значения.
Нужно сравнить значение из переменной со значениями из списка, если окажется так, что в списке нет значения из переменной то его нужно добавить "список" и выполнить "действие 1"
Если же окажется, что значение из переменной уже присутствует в списке то нужно выполнить "действие 2"
Подскажите как реализовать ?
список можно объединить в переменную кубиком Операции над списком и в этой переменной искать вхождение с помощью кубика Обработка текста - Regex, а далее с помощью кубика IF сравнивать полученную из предыдущего кубика перемнную с пустотой, и из IF по красному и зеленому выходу разветвлять шаблон..
 
  • Спасибо
Реакции: noble и madi

noble

Пользователь
Регистрация
09.10.2014
Сообщения
121
Благодарностей
8
Баллы
18
список можно объединить в переменную кубиком Операции над списком и в этой переменной искать вхождение с помощью кубика Обработка текста - Regex, а далее с помощью кубика IF сравнивать полученную из предыдущего кубика перемнную с пустотой, и из IF по красному и зеленому выходу разветвлять шаблон..
А как получить все строки из списка в переменную?
Операции над списками позволяют брать одну строку, а у меня их много.
 

sergodjan66

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
13 771
Благодарностей
5 632
Баллы
113
А как получить все строки из списка в переменную?
Операции над списками позволяют брать одну строку, а у меня их много.
Операции над списком - Объединить в переменную
 
  • Спасибо
Реакции: noble

noble

Пользователь
Регистрация
09.10.2014
Сообщения
121
Благодарностей
8
Баллы
18
список можно объединить в переменную кубиком Операции над списком и в этой переменной искать вхождение с помощью кубика Обработка текста - Regex, а далее с помощью кубика IF сравнивать полученную из предыдущего кубика перемнную с пустотой, и из IF по красному и зеленому выходу разветвлять шаблон..
Я всё верно понял ? Потому, что так не работе. Список id - каждое id c новой строки, возможно в это сложность....
12.png
 

sergodjan66

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
13 771
Благодарностей
5 632
Баллы
113
Я всё верно понял ? Потому, что так не работе. Список id - каждое id c новой строки, возможно в это сложность....
Посмотреть вложение 26456
лучше скриншот всех действий приведите, как делаете..
так сложно понять, что именно не работает и по какой причине..
то что в объединенной переменной каждый id с новой строки не должно мешать..
 
  • Спасибо
Реакции: noble

noble

Пользователь
Регистрация
09.10.2014
Сообщения
121
Благодарностей
8
Баллы
18
лучше скриншот всех действий приведите, как делаете..
так сложно понять, что именно не работает и по какой причине..
то что в объединенной переменной каждый id с новой строки не должно мешать..
27.png

Regeх 1 - берёт значения из массива данных
Regeх 2 - ищет совпадение в переменной id_spisok и ложит результат в id_dubl
 

sergodjan66

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
13 771
Благодарностей
5 632
Баллы
113
Посмотреть вложение 26462
Regeх 1 - берёт значения из массива данных
Regeх 2 - ищет совпадение в переменной id_spisok и ложит результат в id_dubl
что то с кубиком Regex - обводка красным пунктиром означает, что что то не прописано или не существующая переменная..
в кубике IF лучше использовать логику "не равно пустоте", т.е. '{-Variable.id-}'!=''
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 392
Благодарностей
1 952
Баллы
113
..
C#:
var text = project.Variables["Text"].Value;
var sourceList = project.Lists["SourceList"];

lock (SyncObjects.ListSyncer)
{
    if (sourceList.Any(s=>s.Contains(text)))
    {
        //нашли значение, выходим по зелёной выполнить действие 1
        return 1;
    }
    else
    {
        //не нашли значение, выходим по красной выполнить действие 2
        return null;
    }
}
9-ю строку можно удалить и продолжить выполнять 1-е действие в этом же кубике
 
  • Спасибо
Реакции: noble и sergodjan66

noble

Пользователь
Регистрация
09.10.2014
Сообщения
121
Благодарностей
8
Баллы
18
..
C#:
var text = project.Variables["Text"].Value;
var sourceList = project.Lists["SourceList"];

lock (SyncObjects.ListSyncer)
{
    if (sourceList.Any(s=>s.Contains(text)))
    {
        //нашли значение, выходим по зелёной выполнить действие 1
        return 1;
    }
    else
    {
        //не нашли значение, выходим по красной выполнить действие 2
        return null;
    }
}
9-ю строку можно удалить и продолжить выполнять 1-е действие в этом же кубике
Я правильно понял что "Text" и "SourceList" заменить на мои переменные ?
Если да, то у меня выдаёт ошибку
 

noble

Пользователь
Регистрация
09.10.2014
Сообщения
121
Благодарностей
8
Баллы
18
Действие не выполнено, при любых вариация когда id_spisok = id и когда id_spisok не равно id

var id_spisok = project.Variables["id_spisok"].Value;
var id = project.Lists["id"];

lock (SyncObjects.ListSyncer)
{
if (id.Any(s=>s.Contains(id_spisok)))
{

return 1;
}
else
{

return null;
}
}
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 392
Благодарностей
1 952
Баллы
113
скрины покажи, что в переменой, что в списке, то что ты скопировал проблема не решится
 
  • Спасибо
Реакции: noble

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 392
Благодарностей
1 952
Баллы
113
всё работает
в переменой asdfg
в списке asdfg
выход по зелёной

2018-01-23_043507.png
 
  • Спасибо
Реакции: noble

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 392
Благодарностей
1 952
Баллы
113
Действие не выполнено, при любых вариация когда id_spisok = id и когда id_spisok не равно id

var id_spisok = project.Variables["id_spisok"].Value;
var id = project.Lists["id"];
могу примерно предположить что перепутал переменые, так как id_spisok я понимаю что это список, а ты назначил её string переменой
 
  • Спасибо
Реакции: noble

noble

Пользователь
Регистрация
09.10.2014
Сообщения
121
Благодарностей
8
Баллы
18
@ssXXXss работает, спасибо
 

phillplacebo

Client
Регистрация
04.02.2020
Сообщения
16
Благодарностей
1
Баллы
3
Спасибо. Стоит добавить что метод работает для System.Windows.Forms . Т.е. в директивах using нужно добавить
C#:
using System.Windows.Forms;
 
Последнее редактирование:

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