13
A
回答
19
這是沒有初始值或條件的循環,所以它還將長期持續下去,類似
while (true)
{
// body...
}
你需要使用一個break;
聲明走出循環。
5
這將導致無限循環。見MSDN
0
while(true) { /* body */ }
4
它重複身體永遠。
這裏是拆解:
IL_0001: br.s IL_0005
IL_0003: nop
IL_0004: nop
IL_0005: ldc.i4.1
IL_0006: stloc.0
IL_0007: br.s IL_0003
LINQPad是一個非常不錯的小工具,可以讓你探索這樣的問題。運行linqpad,將語言下拉列表設置爲「C#語句」,放入代碼片段,單擊運行,單擊輸出窗口上方的「IL」按鈕。如果您不知道IL彙編,只需將鼠標懸停在每個操作碼上並彈出英文說明即可。對於這個特定的例子,你將需要點擊停止來查看結果按鈕,因爲這個例子永遠循環。
+0
感謝linqpad鏈接。看起來非常酷。 – Ben 2010-01-10 00:33:12
12
像這樣的循環:
for (i = 0; i < 4; i++) { ... }
相同:
i = 0;
while (i < 4) {
...
i++;
}
所以,像這樣的循環:
for (;;) { ... }
是一個較短的形式爲:
for (;true;) { ... }
所以它成爲相同:
;
while (true) {
...
;
}
即初始化和修改是可選的,並且當條件被省略時,它簡單地評估爲true
。
相關問題
- 1. 什麼呢##意味着在$ {}
- 2. 什麼呢JDBC:HSQLDB:hsqlTempFiles意味着
- 3. 什麼呢回聲$ {1 + 「$ @」}意味着
- 4. 什麼呢FD://意味着什麼在dockerd -H FD://
- 5. 什麼呢#字符在JNDI查找意味着什麼?
- 6. 什麼呢?意味着功能參數(爲const char *值,...)
- 7. **在C/C++中意味着什麼?
- 8. 那麼「return 0」究竟意味着什麼呢?
- 9. 這在C中意味着什麼?
- 10. 用C什麼median_unsafe ++意味着
- 11. 我在C++中意味着什麼?
- 12. Objective-C中的@意味着什麼?
- 13. 這些警告意味着什麼C
- 14. #pragma在C中意味着什麼?
- 15. 什麼是 「[這]」 意味着C++
- 16. (* var)[n]在C++中意味着什麼
- 17. C - while(* Table [i])意味着什麼?
- 18. 什麼是「|」意味着在C#編程?
- 19. 在C++中意味着什麼?
- 20. 什麼?和:意味着在C + +?
- 21. 是什麼[和]意味着C++
- 22. C++中的〜意味着什麼?
- 23. [](){}構造在C++中意味着什麼?
- 24. 什麼是({});意味着在C++?
- 25. 什麼的 - >目標C意味着
- 26. 什麼將T [,]意味着C#
- 27. <?=這在C++中意味着什麼?
- 28. void **意味着什麼
- 29. PREEMPTIVE_XE_DISPATCHER這意味着什麼?
- 30. Field.Index.NOT_ANALYZED_NO_NORMS意味着什麼
或返回。或者是一個例外(不是你應該那樣做)。 – 2010-01-10 00:12:57
它也適用於所有C語言。 – 2010-01-10 00:16:56
在C中,它會像這樣(1){....} – t0mm13b 2010-01-10 01:20:38