如何禁止 Roslyn REPL 多次定义变量?

How disallow Roslyn REPL to define a variable multiple times?

我在 https://blog.jayway.com/2015/05/09/using-roslyn-to-build-a-simple-c-interactive-script-engine/ 中使用 Roslyn REPL 代码。这是我的输入:

int a = 1;

System.Console.WriteLine(a);
1

int a = 2;

System.Console.WriteLine(a);
2

string a = "3";

System.Console.WriteLine(a);
3

我想知道为什么这里可以多次定义变量'a',而Roslyn怎么会产生像变量'a'已经被定义这样的错误,只是作为一个普通的 C# 编译器。谢谢!

I wonder why variable 'a' can be defined multiple times here

我相信 C# 脚本方言的一个特点是可以在提交之间重新声明一个变量。我不知道你能做些什么来改变它。

请注意,单次提交无法完成此操作。如果这样做,您会收到类似以下的错误:

error CS0102: The type 'Submission#0' already contains a definition for 'a'