Mono.CSharp:计算数学表达式

Mono.CSharp:计算数学表达式,mono,Mono,我正在试用Mono.CSharp的评估器。 为什么这个简单的脚本可以工作: inti=2,j=3; (i*j) 鉴于这给出了一个错误: inti=2,j=3; i*j saying“(1,2):错误CS0246:找不到类型或命名空间名称'i'。是否 缺少using指令或程序集引用?Mono.CSharp计算器遵循C#标准语法规则。在第二个示例中,实际上是基于C#语法声明局部变量 它可以改写成这样,以便更容易进行人工解析 int i = 2, j = 3; i* j; 编译器将第二行解析为另一个

我正在试用Mono.CSharp的评估器。 为什么这个简单的脚本可以工作:

inti=2,j=3;
(i*j)

鉴于这给出了一个错误:

inti=2,j=3;
i*j

saying“(1,2):错误CS0246:找不到类型或命名空间名称'i'。是否
缺少using指令或程序集引用?

Mono.CSharp计算器遵循C#标准语法规则。在第二个示例中,实际上是基于C#语法声明局部变量

它可以改写成这样,以便更容易进行人工解析

int i = 2, j = 3;
i* j;

编译器将第二行解析为另一个变量声明,并尝试在将指针“*”应用于它之前将“i”解析为类型。

您使用的是哪个版本的Mono?我使用的是.NET 4.0中的Mono.CSharp程序集。我没有问.NET的哪个版本,我问的是哪个版本的Mono.CSharp程序集是使用源代码2.11.1-535构建的。谢谢,这是有道理的。但这些陈述令人惊讶地起作用:inti=2;我为什么这里不涉及解析类型?我进一步检查:
I+j
I/j
工作正常,只有
I*j
给出了错误。这可能是内置解析器中的错误吗?