为什么不; ; 导致VS中的构建错误?

sca*_*man 0 c# syntax

无论多少; 你放在ac#代码行的末尾,编译器不会显示错误,并且
几乎所有其他语言(如c,c ++和java)的构建都是成功的......这是不允许的.

任何解释?

Eri*_*ert 8

你认为这种模式在C,C++和Java中是非法的论点是完全错误的.

我推荐你:

C编程语言,第2版,A9.2节:

......这个结构被称为空语句; 它通常用于向迭代语句提供空体...

C++编程语言,第2版,第r.6.2节

表达式为missing的表达式语句称为null语句; 它很有用......为迭代语句提供一个空体...

Java语言规范,第1版,第14.5节

空语句什么都不做.

C#语言规范,第4版,第8.3节:

如果在需要语句的上下文中没有要执行的操作,则使用空语句.


Jam*_*unt 6

空声明:

http://msdn.microsoft.com/en-us/library/aa664739(v=vs.71).aspx

不管你有多少 - 仍然什么都不做......

您可以在C/C++中执行相同的操作,也可能是Java:

为什么空表达式在C/C++中合法?