ဒီနေ့တော့ iteration အကြောင်းပြောကြည့်ရအောင်။ C# iteration တွင် သတ်မှတ်ထားတဲ့ အကြိမ်အရည်အတွက် ဒါမှမဟုတ် သတ်မှတ်ထားသော အခြေအနေတစ်ခုပြည့်မှီသည့်အထိ ညွှန်ကြားချက်များ ဒါမှမဟုတ် လုပ်ဆောင်ချက်များကို ထပ်ခါထပ်ခါ လုပ်ဆောင်ခြင်းကိုဆိုလိုတာပါ။ ဒါကြောင့် အောက်က iteration တွေ လေ့လာကြည့်ရအောင်
While Loop
·
While Loop ကို အကြိမ်ရေ မရေမတွက်နိုင်အောင် ပြုလုပ်ရန် အသုံးပြုသည်။
·
ထပ်ကာထပ်ကာ အရေအတွက် မသိသောအခါ ၎င်းကို အသုံးပြုသည်။
·
၎င်းသည် ကြိုတင်စမ်းသပ်ထားသည့် ထုတ်ပြန်ချက်ဖြစ်သည်။ ၎င်းသည် မလုပ်ဆောင်မီ
အခြေအနေကို စစ်ဆေးသည်။
while (<Condition>){ <Code> } |
Syntax Example
while (abc > xyz){
Console.WriteLine("C#"); } |
Code
using System.IO; using System; class Program { static void Main() { int abc = 5; while (abc >
0) {
Console.WriteLine("ABC = {0}", abc); abc = abc - 1; } } } |
Program Output
ABC = 5 ABC = 4 ABC = 3 ABC = 2 ABC = 1 |
Output ရှင်းလင်းချက်
abc ၏တန်ဖိုးသည် 5
ဖြစ်ပြီး ပရိုဂရမ်သည် loop အတွင်းသို့ ဝင်လာသောကြောင့် abc သည် 0 ထက်ပို၍ လုပ်ဆောင်သည်
abc ၏တန်ဖိုးသည် 4 ထက် 0 ထက်ပိုသောကြောင့် loop သည် တတိယ အကြိမ်တွင် abc ၏တန်ဖိုးအဖြစ်
တတိယအကြိမ်လုပ်ဆောင်သည်။ 3 က 0 ထက်ပိုပါတယ်။ abc ၏တန်ဖိုး သည် 0 ထက် 2 ဖြစ်သောကြောင့်
စတုတ္ထအကြိမ်တွင် loop သည် execute ဖြစ်သည်။ abc ၏တန်ဖိုးသည် 1 ဖြစ်ပြီး 0 ထက်ပိုသောကြောင့်
ပဉ္စမအကြိမ်တွင် loop ကလုပ်ဆောင်သည်။ abc ၏တန်ဖိုး 0 ဖြစ်သွားသည်နှင့် 0 သည် 0 ထက်မပိုသောကြောင့်
loop မှထွက်သည်။
do-while Loop
C# တွင် do-while loop သည် while loop
နှင့် ဆင်တူသော်လည်း အဓိကခြားနားချက် တစ်ခုရှိပါ တယ်။ ဒါကတော့ condition ကို loop
အစမှာ မဟုတ်ပဲ အဆုံးမှာ စစ်ဆေးတာပဲဖြစ်ပါတယ်။ဆိုလိုတာက conditionသည်
အစကတည်းကလွဲနေမယ်ဆိုရင် loop သည် အနည်းဆုံး တစ်ကြိမ်လုပ်ဆောင်နေမည်ဖြစ် ပါတယ်။
do { <Code> } while (<Condition>) |
Syntax Example
do { Console.WriteLine("C#") } while (a < b) |
Code
using System.IO; using System; class Program { static void Main() { int abc = 5; do { abc = abc - 1; Console.WriteLine("ABC
= {0}", abc); } while (abc >
0); } } |
Program Output
ABC = 4 ABC = 3 ABC = 2 ABC = 1 ABC = 0 |
Output ရှင်းလင်းချက်
execution သည် loop ထဲသို့ဝင်ပြီး
၎င်းအတွင်းရှိ code ကို run ပြီးနောက် abc သည် 0 ထက် ပိုနေခြင်း ရှိ မရှိ စစ်ဆေးသည်။
abc တန်ဖိုးသည် 4 ဖြစ်သောကြောင့် ပရိုဂရမ်က ထပ်မံလုပ်ဆောင်သည်။ပရိုဂရမ်သည် ကုဒ်ကို
လုပ်ဆောင်ပြီးနောက် abc သည် 0 ထက် ပိုများနေခြင်းရှိမရှိ စစ်ဆေးသည်။ abc တန်ဖိုး
သည် 3 ဖြစ်သောကြောင့် ပရိုဂရမ်သည် ထပ်မံလုပ်ဆောင်သည်။ ပရိုဂရမ်သည် ကုဒ်ကို လုပ်ဆောင်ပြီးနောက်
abc သည် 0 ထက်ပိုနေသလား စစ်ဆေးသည်။ abc တန်ဖိုး သည် 2 ဖြစ်သောကြောင့် ပရိုဂရမ်သည် ထပ်မံလုပ်
ဆောင်သည်။ပရိုဂရမ်သည် ကုဒ်ကို လုပ်ဆောင်ပြီးနောက် abc သည် 0 ထက် ပိုများနေခြင်းရှိမရှိ
စစ်ဆေး သည်။ တန်ဖိုး abc သည် 1 ဖြစ်သောကြောင့် ပရိုဂရမ်သည် ထပ်မံလုပ်ဆောင်သည်။ ပရိုဂရမ်သည်
ကုဒ်ကို လုပ်ဆောင်ပြီးနောက် abc သည် 0 ထက် ပိုများနေခြင်းရှိမရှိ စစ်ဆေးသည်။ တန်ဖိုး
abc သည် 0 ဖြစ်သောကြောင့်၊ ပရိုဂရမ်သည် loop မှထွက်သည်။ တူညီသောကုဒ်ပါရှိသော While
Loop သည် Output 43210 ကိုပေးလိမ့်မည်။
For Loop
သတ်မှတ်ထားသော
အခြေနေတစ်ခုပေါ် အခြေခံပြီး ကုဒ်တစ်ခုအား ထပ်ခါတစ်လဲလဲ လုပ်ဆောင် သည့် control
flow statement ဖြစ်ပါတယ်။ သတ်မှတ်ထားသော အကြိမ်အရေအတွက် ဒါမှမဟုတ် Data
collection တစ်ခုအပေါ် ထပ်တစ်လဲလဲလုပ်ဆောင်လိုသည့်အခါမှာ for loop
ကိုအသုံးပြုပါတယ်။
while
(<Condition>){ <Code> } |
Syntax Example
while (abc > xyz){ Console.WriteLine("C#"); } |
Code
using System.IO; using System; class Program { static void Main() { int abc = 5; while (abc >
0) { Console.WriteLine("ABC
= {0}", abc); abc = abc - 1; } } } |
Program Output
ABC = 5 ABC = 4 ABC = 3 ABC = 2 ABC = 1 |
Output ရှင်းလင်းချက်
abc ၏တန်ဖိုးသည် 5 ဖြစ်သည်။ ပရိုဂရမ်သည် loop အတွင်းသို့ ဝင်လာသောကြောင့်
abc သည် 0 ထက်ပို ပါသည်။ abc ၏တန်ဖိုး 4 ဖြစ်ပြီး 0 ထက်ပိုသောကြောင့် ဒုတိယအကြိမ်တွင်
loopကို execute လုပ်ပါတယ်။ abc ၏တန်ဖိုး 3 သည် 0 ထက် ပိုသောကြောင့် loop သည် တတိယအကြိမ်လုပ်ဆောင်သည်။
abc ၏တန်ဖိုးသည် 2 ဖြစ်ပြီး 0 ထက်ပိုသောကြောင့် ကွင်းသည် စတုတ္ထအကြိမ်လုပ်ဆောင်သည်။abc
၏တန်ဖိုးသည် 0 ထက်ပိုသော 1 ဖြစ်သောကြောင့် loop သည် ပဉ္စမအကြိမ်လုပ်ဆောင်သည်။abc ၏တန်ဖိုး
0 ဖြစ်သွားသည်နှင့် 0 သည် 0 ထက်မပိုသောကြောင့် loop မှထွက်သည်။
Nested Loop
Nested
Loop သည် အခြားသော loop အတွင်းရှိ loop တစ်ခုဖြစ်ပါတယ်။ Nested Loop အတွင်း ပြီး ပြည့်စုံတဲ့
လည်ပတ်မှုကို ဖြစ်ပေါ်စေသည့်အပြင် ကွင်းဆက်တစ်ခုစီဖြင့် ထုတ်ပြန်ချက် အကြိမ်များစွာ
ထပ် ခါထပ်ခါ ပြုလုပ်စေပါသည်။ ဘက်ပေါင်းစုံမှ ဒေတာများကို ကိုင်တွယ်သညိ့အခါ ထပ်ခါခပ်ခါ
လုပ်ဆောင် ရန်လိုအပ်သည်အခါမှာ Nested Loop ကိုအသုံးပြုလေ့ရှိပါသည်။
Syntax
while(<Condition>){
while(<Condition>){ <Code> } <Code> } |
Syntax Example
while(a > b){ while(a > c){
Console.Write("*") } } |
Code
using System.IO; using System; class Program { static void Main() { int i, j; for (i = 0; i <= 5; i++) { for (j = 0; j < i; j++) { Console.Write("*"); } Console.WriteLine("\n"); } } } |
Program Output
* ** *** **** ***** |
Output ရှင်းလင်းချက်
ပထမဆုံး execution i=0 ဒါကြောင့် ဒုတိယ
loop သည် run မည်မဟုတ်ပါ။ program သည် ဒုတိယ ကွင်းဆက်မှ ထွက်ပြီး လိုင်းအသစ်သို့သွားပါတယ်။ ဒုတိယ လုပ်ဆောင်မှုမှာတော့
i=1 ဒါကြောင့် ဒုတိယ အကွက်သည် တစ်ကြိမ်လည်ပတ်ပြီး Print Out * နှင့် စာကြောင်းအသစ်သို့ ထပ်သွားပါတယ်။