字符串解析呀,可以用笨辦法,看一下編譯原理的東西。也可以用javascript的parse來做。或用SQL,讓數據庫幫你算。

解决方案 »

  1.   

    引用Microsoft.JScript来实现的例子using System;
    using System.CodeDom.Compiler;
    using System.Reflection;
    using Microsoft.JScript;namespace OdeToCode.Utility
    {
       public class Evaluator
       {
          public static int EvalToInteger(string statement)
          {
             string s = EvalToString(statement);
             return int.Parse(s.ToString());
          }      public static double EvalToDouble(string statement)
          {
             string s = EvalToString(statement);
             return double.Parse(s);
          }      public static string EvalToString(string statement)
          {
             object o = EvalToObject(statement);
             return o.ToString();
          }      public static object EvalToObject(string statement)
          {
             return _evaluatorType.InvokeMember(
                         "Eval", 
                         BindingFlags.InvokeMethod, 
                         null, 
                         _evaluator, 
                         new object[] { statement } 
                      );
          }
                   
          static Evaluator()
          {
             ICodeCompiler compiler;
             compiler = new JScriptCodeProvider().CreateCompiler();         CompilerParameters parameters;
             parameters = new CompilerParameters();
             parameters.GenerateInMemory = true;
             
             CompilerResults results;
             results = compiler.CompileAssemblyFromSource(parameters, _jscriptSource);         Assembly assembly = results.CompiledAssembly;
             _evaluatorType = assembly.GetType("Evaluator.Evaluator");
             
             _evaluator = Activator.CreateInstance(_evaluatorType);
          }
          
          private static object _evaluator = null;
          private static Type _evaluatorType = null;
          private static readonly string _jscriptSource = 
             
              @"package Evaluator
                {
                   class Evaluator
                   {
                      public function Eval(expr : String) : String 
                      { 
                         return eval(expr); 
                      }
                   }
                }";
       }
    }
      

  2.   

    int a=int.Parse("22");
    可以是a的值为22
    你可以用这个方法试一下
      

  3.   

    用convert.toint32()
    或是
    int.parse()
      

  4.   

    Convert.ToInt32( System.Console.ReadLine());将指定的值转换为 32 位无符号整数
      

  5.   

    如果用数据库编程,可以用sql语句获得,如string s="3+2-5*0"; string strSql="select "+s+ "as aa";,然后查询sql语句就可以了。