Avaliar string com operadores matemáticos

Existe uma maneira fácil de avaliar seqüências de caracteres como "(4+8)*2" que você obtenha o valor int de 24?

Ou há muito trabalho necessário para que isso seja feito …?

Use o Ncalc:

 Expression e = new Expression("(4+8)*2"); Debug.Assert(24 == e.Evaluate()); 

http://ncalc.codeplex.com/

Além disso, essa pergunta já havia sido feita anteriormente e tem algumas respostas interessantes, incluindo Ncalc: Avaliar a string “3 * (4 + 2)” yield int 18

Alguém adicionou isso e foi excluído. Eu pensei que era muito legal porque nenhuma biblioteca de terceiros exigia.

  Programa de aula
     {

         static void Main (string [] args)
         {
             Console.WriteLine (Avaliar ("(4 + 8) * 2"));
             Console.ReadKey ();
         }

         public static double Avaliar (expressão de string)
         {
             Tabela DataTable = new DataTable ();
             table.Columns.Add ("expression", typeof (string), expressão);
             Linha DataRow = table.NewRow ();
             table.Rows.Add (linha);
             return double.Parse ((string) linha ["expressão"]);
         }

     }