C# Неявное преобразование типа "string" в "bool" невозможно

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
227
Благодарностей
340
Баллы
63
В C# не сильно силен, но проект требует сторонних библиотек. Подскажите как из переменной "myString" в которой содержится {-Variable.myString-}{-String.Tab-} {-Variable.myVK-}{-String.Tab-}
Проверить наличие {-Variable.myString-} и в зависимости от него наличия выполнить if. Причем должны быть не значения переменных, а они сами текстом.
Код:
    Convert.ToBoolean(Convert.ToInt32(project.Variables["myString"].Value)); // конвертируем текстовую переменную в булеву
    bool myString = (Path.GetExtension(project.Variables["Categories_Excel"].Value) == "{-Variable.qwertrty-}") ? "true" : "false"; // проверяем на содержание в переменной Categories_Excel текста {-Variable.qwertrty-} подскажите как сделать не значения этой переменной а наличия этого текста

if (myString)
{
    ws1.Column(2).Hidden = true;
}
else
{
    ws1.Column(2).Hidden = false;
}
Благодарю
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
убрать кавычки у тру или фалс
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
в смысле и там и там
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
х.з для чего первая строка так и не понял
и макросы в коде не пишутся
 

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
227
Благодарностей
340
Баллы
63
х.з для чего первая строка так и не понял
и макросы в коде не пишутся
В том то и дело что это не макрос, это значение, которое находится в переменной и нужно взять именно его, а не то что содержится в макросе.
Первая строка по идее конвертирует тип стринг в тип бул
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
да, первая строка никакой роли не играет.
надо так сразу:
C#:
bool myString = (project.Variables["Categories_Excel"].Value == project.Variables["qwertrty"].Value);

и далее уже проверять что туда попало
 

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
227
Благодарностей
340
Баллы
63
да, первая строка никакой роли не играет.
надо так сразу:
C#:
bool myString = (project.Variables["Categories_Excel"].Value == project.Variables["qwertrty"].Value);

и далее уже проверять что туда попало
Тут ситуация немного иная. В переменной проекта Categories_Excel содержится примерно такой текст "{-Variable.qwertrty-}{-String.Tab-} {-Variable.test-}{-String.Tab-} {-Variable.qq-}{-String.Tab-}" так вот нужно чтобы переменная myString проверяла есть ли содержание именно текста, а не макроса. И если содержит заданный текст то дается true или false и дальнейшие действия. Так вот как проверить Regex на содержание в переменной Categories_Excel "{-Variable.qwertrty-}", а не значения которое содержится в {-Variable.qwertrty-}.
Благодарю
 

Oleg1987

Client
Регистрация
11.08.2014
Сообщения
1 227
Благодарностей
784
Баллы
113
Код:
if(project.Variables["Categories_Excel"].Value.Contains("Проверочный текст"))
{
    // Какой то код
}
else
{
    // Какой то код
}
 

Dorian_Gray

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

Oleg1987

Client
Регистрация
11.08.2014
Сообщения
1 227
Благодарностей
784
Баллы
113
Каким образом в переменную Categories_Excel заносятся данные?
 

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
227
Благодарностей
340
Баллы
63

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
227
Благодарностей
340
Баллы
63
Решение найдено, благодарю всех кто откликнулся. Если кому то пригодится, берем код выше и дублируем
Код:
string str = project.Variables["qi"].Value;
str = Regex.Replace(str, @"Номер", "1");
return str;
Положить в переменную qq
переменные, которые складывали в начале в Categories_Excel далее с помощью кода Oleg1987
Код:
if(project.Variables["qq"].Value.Contains("1"))
{
    // Какой то код
}
else
{
    // Какой то код
}
Вот и все палки, если кто знает более элегантное решение- подскажите.
 

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