显然,可以创建一个没有条件的Do … Loop-Loop.以下代码使用.NET 4.5( fiddle)以及Roslyn( fiddle)编译: Public Sub Main() Do Console.WriteLine("Hello World") Exit Do LoopEnd Sub 但是,documentation page上的语法仅提供
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
orDo
loop statement loops based on a Boolean expression. … An expression
may be placed after theDo
keyword or after theLoop
keyword, but not
after both. … It
is also valid to specify no expression at all;
(我的重点)
语言参考试图更简单,但可能会丢失必要的细节.语言规范应该与编译器实现的匹配.