Как разбирать арифметические операторы из строки?

Можно ли присвоить переменной типа int значение, которое является результатом выражения, записанного в строке? Например. У меня есть строка «5 - 3», и ожидаемый результат - 2.


person tyumener    schedule 28.09.2010    source источник
comment
возможный дубликат в C #: функции оценки выражения, такой как flash-скрипт   -  person Henk Holterman    schedule 28.09.2010
comment
Возможный дубликат преобразования строкового выражения в целочисленное значение.   -  person Dour High Arch    schedule 09.05.2017


Ответы (3)


Вы можете использовать Calculator.NET

person Giorgi    schedule 28.09.2010
comment
Спасибо! Я считаю, что это то, что мне нужно. - person tyumener; 28.09.2010

Если вы хотите написать свой собственный (я это сделал, это весело!). Поищите в Википедии:

алгоритм маневровой верфи и Обратная польская нотация

Псевдокод действительно понятен, и это отличный опыт обучения

person RichK    schedule 28.09.2010

Во фреймворк ничего не встроено, поэтому вы можете либо создать свой собственный анализатор математических выражений, либо использовать одну из множества имеющихся библиотек.

Поиск по "арифметическому синтаксическому анализатору .net" дает много результатов, некоторые бесплатные, некоторые нет.

Например:

person Oded    schedule 28.09.2010