在C#中,如何将含有关系表达式的字符串里的关系表达式进行运算,例如:   
  string   s="(data>=para )&& (data!=null)";   
     
  如何得到表达式:(data>=para )&& (data!=null)  的值

解决方案 »

  1.   

    if((data>=para )&& (data!=null))
    {}
      

  2.   

    ((data>=para )&&(data!=null)).ToString()关系表达式成立 返回 True 否则返回 False
      

  3.   

    (data>=para )&& (data!=null).ToString() 是0或1 或其他的  测试以下就知道了
      

  4.   

    http://community.csdn.net/Expert/topic/5370/5370108.xml?temp=.6800043
    http://community.csdn.net/Expert/topic/5371/5371498.xml?temp=.8397943
    这两个贴子是计算数学表达式 其中采用C#编译的方式也适用于bool表达式
      

  5.   

    bool b = ((data>=para ) && (data!=null));
      

  6.   

    感觉有人全误解了我的意思.
    问题没说清楚~~?
    Macosx(不要呢称) 贴的贴子有帮助.谢了...
    有谁能讲一讲实现思路....
      

  7.   

    在静态语言里面实现这个还就是由点麻烦
    不过C#里面是由办法的,呵呵,具体每弄过或者你引进一下IronPython 一行基本上就能搞定你的要求了
      

  8.   

    lz是不是要把字符串 s 转换成表达式:(data>=para )&& (data!=null)
      

  9.   

    问题是
    程序运行以后,
    再把这个语句:(data>=para )&& (data!=null)
    编译成机器语言。
      

  10.   

    就是要把字符串 s 转换成表达式:(data>=para )&& (data!=null) 然后计算表达式的值
      

  11.   

    我觉得应该做一个语法分析:
    简单的思路是首先将变量名和运算符分开,例如string s="(data>=para )&& (data!=null)";  
    读字符串中的每一个值,第一个读到'(', 然后将遇到')'之间所有的变量及运算符压栈,第二个字符是'd',它是一个字符所以继续读,直到遇到'>',这时将"data"存到一个给定的变量中,以此类推,所有的变量及它们之间的操作都能够分析出来,不过这个就是有点麻烦
      

  12.   

    我觉得应该做一个语法分析: 
    简单的思路是首先将变量名和运算符分开,例如string   s= "(data> =para   )&&   (data!=null) ";     
    读字符串中的每一个值,第一个读到 '( ',   然后将遇到 ') '之间所有的变量及运算符压栈,第二个字符是 'd ',它是一个字符所以继续读,直到遇到 '> ',这时将 "data "存到一个给定的变量中,以此类推,所有的变量及它们之间的操作都能够分析出来,不过这个就是有点麻烦