【问题标题】:Double semi colon ( ; ; ) allowed in C#.net? [duplicate]C#.net 中是否允许使用双分号 ( ; ; )? [复制]
【发布时间】:2014-12-17 11:01:05
【问题描述】:

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

【问题讨论】:

标签: c# .net


【解决方案1】:

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

这用于你想要重复执行某事但不想添加循环体的循环中。如下例所示:

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

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

【讨论】:

    【解决方案2】:

    ;; 只是一个语句的结尾,后面是一个空语句。就像 Oracle 支持null;。其他平台也是如此。

    有时您不希望按照规范执行操作,例如在ifwhile 等中。

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

    当然应该写成:

    if (!SomeAction())
      SomethingElse();
    

    一般来说,支持;; 作为空语句后的语句结尾可能比支持您希望允许的所有特定场景更容易。

    【讨论】:

    • 这当然很有用,请参阅链接问题
    • @DavidHeffernan:同意。
    猜你喜欢
    • 2015-12-02
    • 2011-04-29
    • 2019-02-04
    • 2020-03-31
    • 2010-12-16
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    相关资源
    最近更新 更多