C# 为什么表达式末尾的重复和更多分号不会在visual studio编译器中导致错误?

C# 为什么表达式末尾的重复和更多分号不会在visual studio编译器中导致错误?,c#,c++,C#,C++,visual studio不会对重复的分号或一个分号进行任何区分,从而在编译代码时出现错误,这与旧的编译器规则(如turbo c或其他)是背道而驰的 没关系 int x ;;;;;;; 这也没关系 int x; 额外的半冒号只是C++语言中的空语句。这不是一个语法错误,所以它编译得很好 分号是什么样的结束语句,所以你可以这样做: int x; int y; int z; 全部在一行上。被视为空语句 空语句在C#中有效,因此不会导致任何编译时错误 int val=40; if(val &

visual studio不会对重复的分号或一个分号进行任何区分,从而在编译代码时出现错误,这与旧的编译器规则(如turbo c或其他)是背道而驰的

没关系

int x ;;;;;;;  
这也没关系

int x;

额外的半冒号只是C++语言中的空语句。这不是一个语法错误,所以它编译得很好

分号是什么样的结束语句,所以你可以这样做:

int x; int y; int z;

全部在一行上。

被视为空语句

空语句在C#中有效,因此不会导致任何编译时错误

int val=40;
if(val > 100)
{
  //do something
}
else
{
 ;  //do nothing
}
从MSDN:

空语句不起任何作用。空语句:;空话 在以下上下文中没有要执行的操作时使用 声明是必需的。简单地执行空语句 将控制转移到语句的端点。于是,结束了 如果空语句是可访问的,则该空语句的点是可访问的 可达的


-1对于
C#
C++
标记,请更具体地说明您的语言asking@Paranaix-这恰好适用于两种语言。还有一些。如果有什么区别的话,那就是语言太少了。