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

  • :未知  Դ:internet  :2007-5-20 16:45:36  ؼ:c#
  • 有时候需要表达式运算,如

    String strExpression="-12 * ( - 2.2 + 7.7 ) - 44 * 2";

    网上找的,一般是利用CodeDom,见

    http://www.codeproject.com/csharp/runtime_eval.asp

    简化为:

    System.CodeDom.Compiler.ICodeCompiler comp = (new Microsoft.CSharp.CSharpCodeProvider().CreateCompiler());

    System.CodeDom.Compiler.CompilerParameters cp = new System.CodeDom.Compiler.CompilerParameters();

    object qswhEval2(string Expression){

    StringBuilder code = new StringBuilder();

    code.Append("using System; \n");

    code.Append("namespace ADOGuy { \n");

    code.Append(" public class _Evaluator { \n");

    code.Append(" public object __foo() ");

    code.Append("{ ");

    code.AppendFormat(" return ({0}); ", Expression);

    code.Append("}\n");

    code.Append("} }");

    System.CodeDom.Compiler.CompilerResults cr = comp.CompileAssemblyFromSource(cp, code.ToString());

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