Как сделать проверку на c#?

mrgreyarbtr

Пользователь
Регистрация
01.10.2022
Сообщения
99
Благодарностей
30
Баллы
18
есть переменная list в ней может быть любое значение


если в ней содержаться слова "sale" "saled" "shop" то нужно выйти по красной ветке


как такое сделать на c#?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
есть переменная list в ней может быть любое значение


если в ней содержаться слова "sale" "saled" "shop" то нужно выйти по красной ветке


как такое сделать на c#?
C#:
string[] words =new[]{ "sale" ,"saled","shop"};
string list = "если в ней содержаться слова sale saled shop то нужно выйти по красной ветке";

for(int i=0;i<words.Length;i++) {
    if(list.Contains(words[i])) throw new Exception(string.Format("В переменной содержится слово: {0}", words[i]));
}
99120
 
  • Спасибо
Реакции: mrgreyarbtr

mrgreyarbtr

Пользователь
Регистрация
01.10.2022
Сообщения
99
Благодарностей
30
Баллы
18
C#:
string[] words =new[]{ "sale" ,"saled","shop"};
string list = "если в ней содержаться слова sale saled shop то нужно выйти по красной ветке";

for(int i=0;i<words.Length;i++) {
    if(list.Contains(words[i])) throw new Exception(string.Format("В переменной содержится слово: {0}", words[i]));
}
Посмотреть вложение 99120
огонь!
 

mrgreyarbtr

Пользователь
Регистрация
01.10.2022
Сообщения
99
Благодарностей
30
Баллы
18
C#:
string[] words =new[]{ "sale" ,"saled","shop"};
string list = "если в ней содержаться слова sale saled shop то нужно выйти по красной ветке";

for(int i=0;i<words.Length;i++) {
    if(list.Contains(words[i])) throw new Exception(string.Format("В переменной содержится слово: {0}", words[i]));
}
Посмотреть вложение 99120
а можно сделать так, чтобы выставить выставить пустое значение переменной var1 если значение присутствует в строке "sale" ,"saled","shop" без выхода по красной?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
а можно сделать так, чтобы выставить выставить пустое значение переменной var1 если значение присутствует в строке "sale" ,"saled","shop" без выхода по красной?
C#:
string[] words =new[]{ "sale" ,"saled","shop"};
string list = "выставить пустое значение переменной var1 если значение присутствует в строке sale, saled, shop без выхода по красной ";

for(int i=0;i<words.Length;i++) {
    if(list.Contains(words[i])) project.Variables["var1"].Value = string.Empty;
}
 
  • Спасибо
Реакции: mrgreyarbtr

mrgreyarbtr

Пользователь
Регистрация
01.10.2022
Сообщения
99
Благодарностей
30
Баллы
18
C#:
string[] words =new[]{ "sale" ,"saled","shop"};
string list = "выставить пустое значение переменной var1 если значение присутствует в строке sale, saled, shop без выхода по красной ";

for(int i=0;i<words.Length;i++) {
    if(list.Contains(words[i])) project.Variables["var1"].Value = string.Empty;
}
мастер)
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
Главное что работает.
В идеальном случае, оформлять такой код чуток по другому (проверки выносить в функции или методы).
Я просто сознательно пытался писать максимально упрощённо, чтобы не запутывать какие-то специфическими конструкциями.
Пример:
C#:
Func<string[], string, bool> MyCheck = delegate (string[] array, string line){
    bool temp = false;
    for(int i=0; i<array.Length; i++) {
        if(line.Contains(array[i])) {
            temp = true;
            break;
        }
    }
    return temp;
};

string[] words =new[]{ "sale" ,"saled","shop"};
string list = "если в ней содержаться слова sale saled shop то нужно выйти по красной ветке";

bool check = MyCheck(words, list);
if(check) {
    // Нашли подстроку - здесь выполняем какой-то код когда совпадение найдено
    project.Variables["var1"].Value = string.Empty;
}
else {
    // Строка не найдена  - здесь выполняем какой-то код когда совпадение найдено
}
 
  • Спасибо
Реакции: mrgreyarbtr

mrgreyarbtr

Пользователь
Регистрация
01.10.2022
Сообщения
99
Благодарностей
30
Баллы
18
C#:
string[] words =new[]{ "sale" ,"saled","shop"};
string list = "выставить пустое значение переменной var1 если значение присутствует в строке sale, saled, shop без выхода по красной ";

for(int i=0;i<words.Length;i++) {
    if(list.Contains(words[i])) project.Variables["var1"].Value = string.Empty;
}
последний вопрос, не сочтите за наглость) а там можно проверять текст из нескольких переменных? например переменные sold fold done и проверить в них содержание этих слов?)
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
последний вопрос, не сочтите за наглость) а там можно проверять текст из нескольких переменных? например переменные sold fold done и проверить в них содержание этих слов?)
C#:
Func<string[], string, bool> MyCheck = delegate (string[] array, string line){
    bool temp = false;
    for(int i=0; i<array.Length; i++) {
        if(line.Contains(array[i])) {
            temp = true;
            break;
        }
    }
    return temp;
};

bool check = false;

string[] words =new[]{ "sale" ,"saled","shop"};

// проверка done
check = MyCheck(words, project.Variables["done"].Value);
if(check) { // найден
    project.Variables["done"].Value = string.Empty; // установить пустое значение в done
}

// проверка fold
check = MyCheck(words, project.Variables["fold"].Value);
if(check) { // найден
    project.Variables["fold"].Value = string.Empty;  // установить пустое значение в fold
}

// проверка sold
check = MyCheck(words, project.Variables["sold"].Value);
if(check) { // найден
    project.Variables["sold"].Value = string.Empty; // установить пустое значение в sold
}
 
  • Спасибо
Реакции: mrgreyarbtr

mrgreyarbtr

Пользователь
Регистрация
01.10.2022
Сообщения
99
Благодарностей
30
Баллы
18
с
C#:
Func<string[], string, bool> MyCheck = delegate (string[] array, string line){
    bool temp = false;
    for(int i=0; i<array.Length; i++) {
        if(line.Contains(array[i])) {
            temp = true;
            break;
        }
    }
    return temp;
};

bool check = false;

string[] words =new[]{ "sale" ,"saled","shop"};

// проверка done
check = MyCheck(words, project.Variables["done"].Value);
if(check) { // найден
    project.Variables["done"].Value = string.Empty; // установить пустое значение в done
}

// проверка fold
check = MyCheck(words, project.Variables["fold"].Value);
if(check) { // найден
    project.Variables["fold"].Value = string.Empty;  // установить пустое значение в fold
}

// проверка sold
check = MyCheck(words, project.Variables["sold"].Value);
if(check) { // найден
    project.Variables["sold"].Value = string.Empty; // установить пустое значение в sold
}
супер просто!
 

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