Парсинг string в boolean - C#

Узнай цену своей работы

Формулировка задачи:

Нужно пропарсить строку, например: "a + b > a - c * b && (a - b < a + c / b || a == b)" После парсинга должно получится лог. выражение, типа: a + b > a -c ....; где a,b,c - переменные. Мы заранее знаем, что обозначают a,b,c в строке (то есть какие переменные). Уверен, что кто-то уже задумывался над этим, и есть какой-нибудь готовый вариант, но не могу его найти Сейчас пытаюсь сделать свой метод, через прогон строки по символам. Но не хочется делать новый велосипед

Решение задачи: «Парсинг string в boolean»

textual
Листинг программы
string expr = "a + b > a - c * b && (a - b < a + c / b || a == b)";
var pa = Expression.Parameter(typeof(int), "a");
var pb = Expression.Parameter(typeof(int), "b");
var pc = Expression.Parameter(typeof(int), "c");
var dlgt = System.Linq.Dynamic.DynamicExpression.ParseLambda(new[] { pa, pb, pc }, typeof(bool), expr).Compile();
bool result = (bool)dlgt.DynamicInvoke(1, 2, 3);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5