关于一个string计算的问题

stdoomer 2012-05-26 07:29:32
最近在做一个项目,出现了这样的情况
例如,在一个方法里面反馈了一个string,里面是一个计算的公式
string st="20*5*(50+3)";
但是这个反馈的结构并没有固定的公式,在这种情况下,我要对st里面内容进行计算,要怎么处理比较好呢??
...全文
132 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
风之影子 2012-05-27
  • 打赏
  • 举报
回复
一般有两种可取的方法,一种是5楼说的,利用内存表提供的compute方法,另外一种利用com组件

可以看下面的贴子。
http://yq2052.blog.163.com/blog/static/516835020091018450194/
cheng2005 2012-05-26
  • 打赏
  • 举报
回复
如果string st="20*5*(50+3)";
这种字符串符合C#语言的规范,那么可以考虑动态编译,少量使用问题不大.
但是如果频繁使用推荐使用更好的方式,比如表达式解析.毕竟动态编译效率不行,内存,CPU,时间都耗.
Sheldon_Lou 2012-05-26
  • 打赏
  • 举报
回复
数据结构的计算表达式。自己写一个方法?
dalmeeme 2012-05-26
  • 打赏
  • 举报
回复
string st = "20*5*(50+3)";
DataTable dt = new DataTable();
Response.Write(dt.Compute(st, null));
stdoomer 2012-05-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

自己从网上找一个表达式类吧,参考http://blog.csdn.net/Rock870210/article/details/4958479
[/Quote]
你给的地址那个写的太深了吧,能不能说一下具体的思路!
stdoomer 2012-05-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

JScript code

<script type="text/javascript">
var st=eval("20*5*(50+3)");
alert(st);
</script>
[/Quote]
不好意思,我写的是winfrom!!
bdmh 2012-05-26
  • 打赏
  • 举报
回复
自己从网上找一个表达式类吧,参考http://blog.csdn.net/Rock870210/article/details/4958479
人生无悔 2012-05-26
  • 打赏
  • 举报
回复

<script type="text/javascript">
var st=eval("20*5*(50+3)");
alert(st);
</script>

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧