.net – 在哪里做…循环没有条件记录?

显然,可以创建一个没有条件的Do … Loop-Loop.以下代码使用.NET 4.5( fiddle)以及Roslyn( fiddle)编译:

Public Sub Main()
    Do
        Console.WriteLine("Hello World")
        Exit Do
    Loop
End Sub

但是,documentation page上的语法仅提供以下两个选项:

Do { While | Until } condition
    [ statements ]
    [ Continue Do ]
    [ statements ]
    [ Exit Do ]
    [ statements ]
Loop
-or-
Do
    [ statements ]
    [ Continue Do ]
    [ statements ]
    [ Exit Do ]
    [ statements ]
Loop { While | Until } condition

这是编译器中的错误,文档中的错误还是我看起来不够努力?

解决方法

如有疑问,请咨询 language specification,而不是参考:

10.9.1 While…End While and Do…Loop Statements

A While or Do loop statement loops based on a Boolean expression. … An expression
may be placed after the Do keyword or after the Loop keyword,but not
after both. … It
is also valid to specify no expression at all;

(我的重点)

语言参考试图更简单,但可能会丢失必要的细节.语言规范应该与编译器实现的匹配.

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...