Любой способ получить результат простого выражения вычисления? - PullRequest
1 голос
/ 30 июня 2009

У меня есть некоторые значения в файле конфигурации (XML-файл) с такими значениями, как это:

 <IncreamentInSeconds>24*60*60</IncreamentInSeconds>
 ...

Я мог бы поместить туда значение 86400, но оно более наглядно в качестве выражения вычисления. Это просто простой пример. Также есть некоторые другие выражения, но все они в виде выражений для вычисления.

Я не уверен, есть ли способ проанализировать выражение и получить его значение в C #. Я думал о компоненте Excel, который может быть полезен, но я думаю, что это может вызвать проблемы с производительностью (загрузить лист Excel с ячейкой?). Есть ли другой способ получить результат?

Между прочим, я видел несколько примеров XCode для получения результата выражения с помощью команды оболочки для оценки результата (оболочка даже может принимать определения переменных). Не уверены, есть ли какая-либо команда оболочки в Windows, которую можно использовать, чтобы я мог выполнить команду оболочки для получения результата?

Ответы [ 2 ]

1 голос
/ 30 июня 2009

Вероятно, самый простой способ сделать это - использовать Microsoft.JScript http://riteshk.blogspot.com/2007/05/how-to-calculate-value-with-regular.html

Если вы хотите сделать это без использования библиотеки javascript, вы всегда можете использовать обратную польскую нотацию: http://en.wikipedia.org/wiki/Reverse_Polish_notation

Ссылка для преобразования инфикса в RPN: http://montcs.bloomu.edu/~bobmon/Information/RPN/infix2rpn.shtml

Также здесь есть ссылка на парсер выражений RPN: http://www.codeproject.com/KB/cs/rpn_expressionparser.aspx

0 голосов
/ 30 июня 2009

Я думаю, что получил ответ. Я обнаружил, что CodeDOM cab может использоваться для получения результата из выражения вычисления.

А вот и статья с примерами .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...