Подскажите как сравнить 2 переменные С#

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
227
Благодарностей
340
Баллы
63
Есть переменная проекта test которая содержит определенный текст и переменная select которая тоже содержит текст, подскажите как их лучше сравнить и при совпадении вывести по красной.
Пример кода
Код:
if ( project.Variables["test"].Value != project.Variables["select"].Value) // если переменная select из проекта True
            {
  // Если переменные не совпадают все ок и идем по зеленой
            }
else
{
           // Если переменные совпадают уходим по красной ветке дальше
}     
return;
Спасибо всем кто ответит :-)
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
C#:
if (project.Variables["test"].Value == project.Variables["select"].Value)
{
    throw new Exception("Тут любой желаемый текст");
}
 
  • Спасибо
Реакции: Solomon21 и Dorian_Gray

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
227
Благодарностей
340
Баллы
63
C#:
if (project.Variables["test"].Value == project.Variables["select"].Value)
{
    throw new Exception("Тут любой желаемый текст");
}
Извиняюсь не совсем корректно задал вопрос, текст для сравнения будет содержаться в переменной test т.е. переменная select не должна содержать одно и тоже что и test и если она содержит выводим по красной (то есть по факту нужно сравнить переменные )
("Тут любой желаемый текст");
не сработает
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
Извиняюсь не совсем корректно задал вопрос, текст для сравнения будет содержаться в переменной test не сработает
Всё сработает. Сравниваются две переменные проекта - test и select. Если они НЕ равны, то данный экшен выйдет по зелёной ветке. Если же эти переменные равны, то будет выход по красной ветке, а в лог попадёт запись, которая находится в этой строке throw new Exception("Тут любой желаемый текст"); в кавычках, в данном случае в лог попадёт сообщение - Тут любой желаемый текст. Данный текст можно заменить на другой, например - Переменные не равны!

UPD:
Выход по красной будет только в том случае, если текст внутри переменных идентичен!
 
  • Спасибо
Реакции: JurgenZolle и Dorian_Gray

Vik89

Client
Регистрация
05.11.2014
Сообщения
71
Благодарностей
14
Баллы
8
А как сделать чтобы производилось частичное сравнение? например
переменная test = какой-то текст и нужное ключевое слово товар222
переменная select = товар222

Если в переменной test НЕТ слова товар222 то выход по зеленой ветке
Если есть, то по красной
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
А как сделать чтобы производилось частичное сравнение? например
переменная test = какой-то текст и нужное ключевое слово товар222
переменная select = товар222

Если в переменной test НЕТ слова товар222 то выход по зеленой ветке
Если есть, то по красной
Данную операцию довольно легко сделать и на стандартных экшенах. Да, места занимать будет чуть больше, но при необходимости можно будет самостоятельно внести правки в логику работы без особого труда.

Сначала экранируем спец. символы в переменной select и помещаем её в новую переменную - escaped_select (Искать в экшене "Обработка текста"). Далее всё в том же экшене "Обработка текста" ищем Regex. В качестве регулярного выражения используем экранированную переменную полученную на предыдущем шаге (esacaped_select), в поле для текста вставляем макрос переменной, в которой будем искать совпадение; создаём новую переменную, result, в которую будет записывать результат поиска регулярным выражением. Если в переменной test будет строка, которую мы ищем, то result будет НЕ пустым, если в test не будет нужного нам текста, result будет пустым.

Вот как это выглядит:
https://prnt.sc/kxnb2t

C#:
if (project.Variables["test"].Value.Contains(project.Variables["select"].Value))
{
    throw new Exception("Совпадение найдено.");
}
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 524
Благодарностей
1 321
Баллы
113
Последнее редактирование:

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
  • Спасибо
Реакции: Gunjubasik

Zheka84

Client
Регистрация
13.10.2018
Сообщения
163
Благодарностей
24
Баллы
18
Друзья, подскажите пожалуйста, возможно ли сделать что-то подобное на С#?

Есть список в котором, к примеру есть строки: "разный текст" и "интересный сюжет"

И есть текст в переменной: "интересный случайный текст"

Можно ли получить значения совпадений (выделено жирным шрифтом) в отдельную переменную или лучше даже в отдельный список?
Понимаю что можно делать regex каждого отдельного слова из переменной и проверять на совпадение в списке, но текст очень большой и это займёт продолжительное время даже в ZP, не говоря уже о PM во время отладки шаблона.

Заранее премного благодарен тем кто откликнется.
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
224
Благодарностей
60
Баллы
28
Друзья, подскажите пожалуйста, возможно ли сделать что-то подобное на С#?

Есть список в котором, к примеру есть строки: "разный текст" и "интересный сюжет"

И есть текст в переменной: "интересный случайный текст"

Можно ли получить значения совпадений (выделено жирным шрифтом) в отдельную переменную или лучше даже в отдельный список?
Понимаю что можно делать regex каждого отдельного слова из переменной и проверять на совпадение в списке, но текст очень большой и это займёт продолжительное время даже в ZP, не говоря уже о PM во время отладки шаблона.

Заранее премного благодарен тем кто откликнется.
Задача вроде похожа на нечеткое сравнение текста... ИИ с такой задачей хорошо справляется. В смысле код c# может сделать... Хотя и прямое сравнение тоже...
 
  • Спасибо
Реакции: Zheka84

Zheka84

Client
Регистрация
13.10.2018
Сообщения
163
Благодарностей
24
Баллы
18
Задача вроде похожа на нечеткое сравнение текста... ИИ с такой задачей хорошо справляется. В смысле код c# может сделать... Хотя и прямое сравнение тоже...
Спасибо большое за идею:-)
 

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