2009-06-30 3 views
1

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

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

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

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

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

ответ

1

Вероятно, самый простой способ сделать это с помощью 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

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

И вот an article with examples.

+0

Он выглядит очень мощным, однако, очень сложным. Любой простой способ? –

+0

другой аналогичный пример: http://forums.techarena.in/software-development/1109842.htm –

Смежные вопросы