C#.net 中允许使用双分号 (;;)

本文关键字:net 许使用 | 更新日期: 2023-09-27 18:34:24

我在编写代码时不小心在语句末尾放了两个分号。我很惊讶它没有给出任何错误。我的意思是允许双分号的目的是什么?它实际上意味着什么,以及它如何在任何特定的编程方法中有用?

C#.net 中允许使用双分号 (;;)

因为;只是一个空语句,换句话说就是空语句。它通常是无用的,但完全有效。

这用于您希望重复执行某些操作但又不想添加循环主体的循环中。如以下示例所示:

for ( i = 0; i < 10; line[i++] = 0 )
 ;

但是,在您的情况下,第一个分号是语句的结尾,第二个分号是空语句。这是无用的,将被编译器忽略。

;;只是一个语句的结尾,后跟一个空语句。就像甲骨文支持null;一样。其他平台也这样做。

有时您不想在应该根据规范执行操作时执行操作,例如在ifwhile等中。

if (SomeAction())
  ;
else
  SomethingElse();

当然应该写成:

if (!SomeAction())
  SomethingElse();

通常,将;;作为空语句后面的语句结尾支持可能比支持要允许它的所有特定方案更容易。