显然,可以创建一个没有条件的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
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;
(我的重点)
语言参考试图更简单,但可能会丢失必要的细节.语言规范应该与编译器实现的匹配.