2

我正在尝试 Mono.CSharp 的评估器。为什么这个简单的脚本有效:

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

而这给出了一个错误:

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

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

4

1 回答 1

3

Mono.CSharp 求值器遵循 C# 标准语法规则。在您的第二个示例中,您实际上是根据 C# 语法声明局部变量。

可以将其重写为更易于人类解析

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

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

于 2012-06-21T13:52:21.547 回答