ユーザーに数値の入力を求め、NCalc
式を評価して解決するために使用したい
string a = Console.ReadKey().ToString();
Expression e = new Expression("2 + [a] * 5");
object x = e.Evaluate();
Console.WriteLine("{0}", x.ToString());
Console.ReadKey();
これによりエラーが発生します。何が間違っていますか?
ユーザーに数値の入力を求め、NCalc
式を評価して解決するために使用したい
string a = Console.ReadKey().ToString();
Expression e = new Expression("2 + [a] * 5");
object x = e.Evaluate();
Console.WriteLine("{0}", x.ToString());
Console.ReadKey();
これによりエラーが発生します。何が間違っていますか?
リテラル値のパラメーターを渡す必要がありますa
。
string a = Console.ReadKey().KeyChar.ToString(); // add KeyChar
Expression e = new Expression("2 + [a] * 5");
e.Parameters["a"] = a; // don't forget this line
object x = e.Evaluate();
Console.WriteLine("{0}", x.ToString());
Console.ReadKey();
もう一つ、
string a = Console.ReadKey().ToString();
// yields a string value: System.ConsoleKeyInfo
// and not the number you typed.
とても使いやすい
string a = Console.ReadLine()
// or
string a = Console.ReadKey().KeyChar.ToString(); // KeyChar