回答
//remember, do loop will always execute at least once, a while loop may not execute at all
//because the condition is at the top
do
{
//statements to be repeated
} while (condition);
你的條件不是布爾表達式... – 2010-03-29 15:15:58
@Jon Skeet - 對不起,我通常是VB – BlackICE 2010-03-29 15:16:40
do {} while(true ); – 2010-03-29 15:16:42
這裏有一個簡單的例子,將打印一些數字:
int i = 0;
do {
Console.WriteLine(++i);
} while (i < 10);
的一般形式是:
do
{
// Body
} while (condition);
凡condition
是一些表達鍵入bool
。
我個人很少編寫do/while循環 - for
,foreach
和直接while
循環在我的經驗中更爲常見。後者是:
while (condition)
{
// body
}
while
和do...while
之間的區別是,在第一種情況下,身體會永遠來,如果條件爲假開始與執行 - 而在後一種情況下,它總是執行一次前該條件被評估過。
這就是關鍵。如果你想保證第一次執行,使用do-while。否則,雖然確實是一個更好的方法。 – 2010-03-29 15:21:08
using System;
class MainClass
{
public static void Main()
{
int i = 0;
do
{
Console.WriteLine("Number is {0}", i);
i++;
} while (i < 100);
}
}
另一種方法是
using System;
class MainClass
{
public static void Main()
{
int i = 0;
while(i <100)
{
Console.WriteLine("Number is {0}", i);
i++;
}
}
}
感謝您的明確解釋 – 2010-03-29 16:57:50
除了安東尼Pegram的回答,您還可以使用while循環,它檢查條件之前進入循環
while (someCriteria)
{
if (someCondition)
{
someCriteria = false;
// or you can use break;
}
if (ignoreJustThisIteration)
{
continue;
}
}
相當令人驚訝的是,沒有人提到do..while結構的經典例子。做..當你想運行一些代碼,檢查或驗證某些東西(通常取決於執行代碼過程中發生的事情),並且如果你不喜歡結果,重新開始。這正是你需要什麼,當你想要一個適合一些限制某些用戶輸入:
bool CheckInput(string input) { ... }
...
string input;
...
do {
input=Console.ReadLine();
} while(!CheckInput(input));
這是一個相當通用的形式:當條件很簡單,這是常見的,直接把它放在循環結構(內部「while」關鍵字後的括號),而不是有一個方法來計算它。
這種用法的關鍵概念是,您必須至少請求一次用戶輸入(在最好的情況下,用戶將在第一次嘗試時就能正確使用)。並且在身體至少執行過一次之前,條件沒有多大意義。這些都是很好的提示,而且是工作的工具,它們兩者幾乎都是一種保證。
既然你提到你是來自VB.NET,我強烈建議檢出this link來顯示比較。您還可以使用this wensite將VB轉換爲C#,反之亦然 - 因此您可以使用現有的VB代碼,並查看它在C#中的外觀,包括循環和兒子下的其他任何東西。
要回答這個循環的問題,您簡單想要做的事,如:
while(condition)
{
DoSomething();
}
你也可以做 - 而像這樣:
do
{
Something();
}
while(condition);
這裏的another code translator我已經成功使用,和another great C#->VB comparison website。祝你好運!
感謝您的比較頁面的鏈接..這正是我需要的 – 2010-03-29 17:50:47
- 1. 做while while循環永遠
- 2. double做while循環
- 3. Haskell - 做while循環
- 4. QT做while循環
- 5. infinte做while循環
- 6. Haskell做while循環
- 7. 做while循環在PHP
- 8. 在Swift中做while循環
- 9. 在C++ while循環
- 10. while循環在C#
- 11. setTimeout在做while while循環時
- 12. JS掛在做while while循環
- 13. 轉換爲循環做while循環在C++
- 14. C++做while循環與用戶輸入
- 15. C++:與有麻煩做while循環
- 16. C++做while循環沒有響應
- 17. C++做while循環不工作
- 18. C做while循環與用戶選擇
- 19. C++ while循環做最大1次
- 20. 做while循環不正常循環
- 21. do while循環不循環也不做
- 22. 檢查輸入是有效的C++在做while while循環
- 23. C#foreach while while循環
- 24. C++ Space while while循環
- 25. 做/ while循環不工作?
- 26. while循環做了什麼?
- 27. 爲AJAX做while循環?
- 28. while循環做-1(mysql_fetch_assoc)
- 29. 做while循環與循環不正確C++
- 30. 做'while while循環與try和except一起工作嗎?
MSDN是這樣的問題的金礦。 C#'do'關鍵字:http://msdn.microsoft.com/en-us/library/370s1zax(VS.80).aspx – 2010-03-29 15:19:37
既然你來自VB.NET,看看我提供的一些鏈接下面看循環的語法比較以及其他任何你需要在下面回覆 – dferraro 2010-03-29 15:43:56