Парсинг 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д