【发布时间】:2012-02-01 03:08:37
【问题描述】:
我遇到过几次这样的情况:
while (true) {
while (age == 5); //What does this semi-colon indicate?
//Code
//Code
//Code
}
while(true) 表示这是一个无限循环,但是我很难理解while 条件后的分号完成了什么,是不是相当于这个?:
while (age == 5) { }
//Code
//Code
换句话说,这是否意味着while循环没有用,因为它永远不会进入块?
【问题讨论】:
-
你问的是 C 还是 C#?你用两者都标记了这个问题。
-
我没有线索......逻辑上它什么都不做
-
我已经看到它在两种语言中都有出现,它在两种语言中的行为是否不同?
-
如果
age == 5你会得到一个无限循环。它只会在age != 5在某个阶段(不同的线程?)时退出。 -
JIT 编译器会将其转换为 HCF 机器指令(Halt 和 Catch Fire)。扑灭火灾取决于机器。背景信息在这里:en.wikipedia.org/wiki/Halt_and_Catch_Fire
标签: c# loops syntax while-loop