iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 13
0
自我挑戰組

初心者學C#系列 第 13

Day 13: C#的迴圈 ʅ(ツ)ʃ

  • 分享至 

  • xImage
  •  

※以下內容皆是新手撰寫,內容可能不完全正確

寫完某寫作課的textual analysis之後,覺得這篇寫起來特別輕鬆~什麼東西都是相對了。
這篇要講的是C#裡面的 迴圈(loops) ;當你寫程式需要把某個東西重複執行很多次的時候,可以土法煉鋼慢慢用Console.WriteLine( )條列,或者用比較簡單的方式:迴圈。今天要談的是 while、do… while、for和foreach ,以及 控制迴路的敘述(loop control statement)break跟continue
迴圈大概的結構如下(又是我畫的醜圖(^_^)):
https://ithelp.ithome.com.tw/upload/images/20190928/20120882zeqekkUL4r.png
如果一個迴圈一直未達到跳出迴圈的條件,就稱作 無限迴圈(infinite loop)

while迴圈(while loop)
當條件還成立,while就會不停的重複執行迴圈內的程式碼。假如我要把某好友列表上的8個好友刪光,可以用下面的while迴圈解決;當名單好友人數尚大於0,就繼續刪除好友,好友人數等於0的時候便會跳出迴圈,跳出迴圈才印出「沒朋友了!」:

int friends = 8;  
      while (friends > 0)
      {
        friends = friends - 1;
        Console.WriteLine($"friends left on list: {friends}");
      }
      Console.WriteLine("NO MORE FRIENDS!");

do… while迴圈(do… while loop)
do… while迴圈和while迴圈的差別在於do… while會先在沒有經過判斷條件的情況下執行一次迴圈裡的程式碼,因此,一定要先執行一次的程式中可以用do… while寫。相信各位都有遇過雷隊友/雷組員~假如我要至少要提醒組員寫作業一次,那麼可以用do… while呈現:turnInHomework(繳作業)只要是false(while(!turnInHomework)),程式就會一直輸出「FINISH THE ASSIGNMENT!」,直到turnInHomework變成true。變成true之後會跳出迴圈,並輸出「你終於把你的工作做完了。」:

bool turnInHomework = true;
      do 
      {
        Console.WriteLine("FINISH THE ASSIGNMENT!");
      }while(!turnInHomework);
      Console.WriteLine("You finally finished your job.");

for迴圈(for loop)
當確定要執行某段程式碼的次數,則適合用for迴圈。若我想要罵一個人100次但懶得一條一條打,我可以用for迴圈執行。for後面第一格是初始值,中間是判斷條件,若條件屬實,就會執行第三格裡面的動作(x + 1),執行到x大於等於101,執行當中印出100次的「你很笨。」:

for(int x=1; x<101; x++)
      {
        Console.WriteLine("You are not very intelligent.");
      }

foreach迴圈(foreach loop)
foreach迴圈通常是用來把一個集合或列表裡的東西全部跑一遍。若我要把一個成績列表裡面的每個成績都輸出一遍,會用foreach處理。grades陣列中有六個成績,這個時候不用什麼特別的條件,在grades陣列裡的每個int grade都會輸出一次:

int[] grades = {87, 91, 65, 59, 80, 23};
foreach(int grade in grades)
{
  Console.WriteLine(grade);
}

break; :在迴圈裡加上{break;},條件成立時,變會跳出迴圈。

continue; :跟break相反,在迴圈裡面加上{continue;}會讓上面的程式碼執行到條件不成立為止。

Loop到頭都昏了~今天先這樣ㄅ,明天的主題是封裝喔喔喔喔(ㄎㄧㄤ


上一篇
Day 12:C#裡做決策 (┛◉Д◉)┛
下一篇
Day 14:C#的封裝 /╲/( ͡° ͡° ͜ʖ ͡° ͡°)/\╱\
系列文
初心者學C#30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言