динамическое условие if из строки [duplicate]

1

Я генерирую выражение из некоторых бизнес-правил, и это может выглядеть так

0 > 1
12 < 14
"abc" != "xyz"
90 >= 12

Теперь я должен выполнить определенные реализации на основе этого условия. Например:

 string condition = "0 =1";
 if(condition)
 {
  // do something because condition is passed
 }
else
 { 
  // do something because condition is failed
 }

Я попытался сделать то же самое с ключевым словом dynamic, но он все еще не работает. Любая работа вокруг?

Изменение: 1 измененный код

string _initExp = "1";
string _validateCondition = "== 0";
string strcondition = _initExp + _validateCondition;
bool _condition = Convert.ToBoolean(strcondition); // Error statement

if (_condition)
{

}
Теги:
if-statement
dynamic

1 ответ

4
Лучший ответ

Почему бы просто не использовать bool:

bool condition = 0==1;
if(condition)
{
   // do something because condition is passed
}
else
{ 
   // do something because condition is failed
}

Вы также можете упростить следующий код:

bool condition = 0==1;
if(condition)
{
   return true;
}
else
{ 
   return false;
}

чтобы:

bool condition = 0==1;
return condition;

Или для пользовательских значений возврата

bool condition = 0==1;
return condition ? "yes" : "no";
  • 1
    return condition; было бы достаточно. Зачем проверять еще раз.
  • 0
    Или вы можете даже использовать лямбда-выражения некоторых видов.
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню