ユーザーに123+456
みたいな計算式を入力させ、その結果を算出したい。
やろうと思えば、「+等の演算子でSplit
して、各変数を格納して・・・」という感じでできるかもしれないが、
こんな操作、どうしても既存のメソッドがある気がしてならない。
調べてみたところ、色々な方法が見つかった。
私的に一番わかりやすいのはDataTable.Compute
メソッドを使うというものだ。
1 2 |
DataTable dt = new DataTable(); Int result = (int)dt.Compute("123+456", "") |
こんな感じ。
DataTable
が完全にただの傀儡でちょっと気持ち悪いが、一番短く、分かりやすくかける方法だと思う。
なお、DataTable
自体は割かし重いので、繰り返し実行する場合はメモリ使用量やパフォーマンスに注意が必要。