语言决不是语法的不同之.NET 版本计算表达式的值
2005-12-29 17:02:11 来源:WEB开发网核心提示:很多人会说语言只是语法的差异,事实上,大家忽略了一点选择了一种语言,语言的提供者一定会提供很多的系统库给这个语言. 接下来一个简单的例子来结合Jscript.net 和 C# 来实现对一个表达式的计算.问题要求: 输入一串简单的表达式,输出值.比如2+4*7 返回30注意我们全部用.net 去实现,呵呵. 1.新建一个
很多人会说语言只是语法的差异,事实上,大家忽略了一点选择了一种语言,语言的提供者一定会提供很多的系统库给这个语言.
接下来一个简单的例子来结合Jscript.net 和 C# 来实现对一个表达式的计算.
问题要求: 输入一串简单的表达式,输出值.
比如2+4*7 返回30
注意我们全部用.net 去实现,呵呵.
1.新建一个jscript文件, CustomEval.js
// JScript source code
class CustomEval
{
static function eval(strExp)
{
return eval(strExp);
}
}然后到.net 的command PRompt,编译该js为一个.net 程序集
jsc /t:library CustomEval.js
然后就生成了一个CustomEval.dll 标准的.net程序集.
调用也很简单.
新建一个项目,引用该dll, 并且也引用MIcrosoft.Jscript.dll
如下代码:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(CustomEval.eval("2+4*7"));
}
}
呵呵,结果就出来了.
类似你用C# 可以用很多Microsoft.Visualbasic.*.dll 提供的功能. C# 利用VB的特性
更多精彩
赞助商链接