"空行用分号"在C#中意味着什么?

时间:2013-01-31 11:55:13

标签: c# syntax

我偶然发现了这段代码,并想知道为什么C#编译器不会引发警告或错误。严格地说,我想我正在尝试执行实际上无效的任何事情? (对于空行)

semi colons on blank lines

1 个答案:

答案 0 :(得分:4)

这是空声明。它作为循环体很有用:

while(!Condition()) ;

在for循环中更常见,其中循环体完全嵌入循环头中。

让我们遍历链表的最后一个元素:

Node current = head;
for (; current.Next != null; current = current.Next) ;
return current;

它看起来有点讨厌,一般我更喜欢写一个更长但更易读的循环。 C ++人员往往会把东西塞进循环标题中。

我确信它在代码生成场景中也会派上用场。