• λ我爱Aspx >> Asp.Net >> C#四种Eval测试结果:不要用CodeDom做大批量的表达式四则运算
  • C#四种Eval测试结果:不要用CodeDom做大批量的表达式四则运算

  • :未知  Դ:internet  :2007-5-20 16:45:36  ؼ:c#
  • System.Reflection.Assembly a = cr.CompiledAssembly;

    object _Compiled = a.CreateInstance("ADOGuy._Evaluator");

    System.Reflection.MethodInfo mi = _Compiled.GetType().GetMethod("__foo");

    return mi.Invoke(_Compiled, null);

    }

    但用起来感觉很慢,毕竟需要实时编译。

    于是,就自己照数据结构书上写了一种算法:

    string Precede(string p, string q){

    switch(p){

    case "+":

    case "-":return ("*/(".IndexOf(q)!=-1)?"<":">";

    case "*":

    case "/":return (q=="(")?"<":">";

    case "(":return (q==")")?"=":"<";

    case ")":return (q=="(")?"?":">";

    case "#":return (q=="#")?"=":"<";

    }

    return "?";

    }

    Double Operate(Double a,char o,Double b)

    {

    switch(o)

    {

    case '+':return a+b;

    case '-':return a-b;

    case '*':return a*b;

    case '/':return a/b;

    }

    Ҷƪл˵?
  • һƪEnableViewState=&#34;false&#34;的DataGrid分页
    һƪ不停向上滚动的图片 JavaScript