C# Programming Fundamentals Course

PART – I
( ျမန္မာ ဘာသာျဖင္႔ ေရးသားထားသည္ )

Author :
Pyae Phyo Maung Maung
B.C ( Tech ) ( Hons : )
MCTS , MCPD .
Web site : http://myanmaraspnet.multiply.com

do while . for Aေၾကာင္း foreach Aေၾကာင္း 2 .Unconditional ဆုိသည္မွာ Method နွင္႔ Function AေခၚAေ၀ၚ Method Call သည္ ဆုိသည္မွာ Method Call ပံု Method Call ပံု နွင္႔ return Value Aေၾကာင္း Conditional ဆုိသည္မွာ If Aေၾကာင္း Nested If Aေၾကာင္း Switch Aေၾကာင္း Looping goto Aေၾကာင္း while.

Unconditional ဆုိသည္မွာ Unconditional ဆုိသည္မွာ ရုိးရွင္းေသာ Method Call ပံု မ်ိဳးကုိ ဆုိလုိသည္ ။ တနည္းAားျဖင္႔ ထုိ Method ထဲတြင္ မည္သည္႔ Conditional Statement မွ မပါ၀င္ေသာ Method မ်ိဳး ကုိ ဆုိလုိသည္ ။ Method နွင္႔ Function AေခၚAေ၀ၚ AေခၚAေ၀ၚ တကယ္ေတာ႔ Method နွင္႔ Function ဆုိတာ AေခၚAေ၀ၚ ကြာေပမယ္႔ သူတုိ႔Aလုပ္လုပ္ပံု ဟာ Aတူတူပဲ ျဖစ္ပါတယ္ ။ C Programmers မ်ားက Function လုိ႔ေခၚေ၀ၚ သံုးစြဲခ႔တ ဲ ာျဖစ္ျပီး C++ / Java / C# Programmers မ််ားကေတာ႔ Method လုိ႔ ေခၚေ၀ၚ Aသံုးျပဳခဲ႔တာ ျဖစ္ပါတယ္ ။ Method Call Method Call သည္ ဆုိသည္မွာ Program ၏ တစ္ေနရာတြင္ ခြဲေရးထားေသာ Method တစ္ခုကို မိမိေခၚလိုေသာ Event . Method စသည္တုိ႔မွ ေခၚယူ Aသံုးျပဳျခင္း ကုိ ဆုိလုိသည္ ။ ဘာေၾကာင္႔ Method ခြဲေရးသင္႔ပါသလဲ ? Method တစ္ခုထတ ဲ ြင္ Coding မ်ား စုျပံဳေရးထားျခင္းသည္ ရွငး္ လင္းမွု မရွိျခင္း ၊ သေဘာတရား တူညီေသာ Coding မ်ားကုိ ထပ္ခါထပ္ခါ ေရးရျခင္း စေသာ Aခက္Aခဲမ်ားကို ေရွာင္ရွားရန္ Aတြက္ Method ကုိ ခြဲေရး ၾကျခင္း ျဖစ္သည္ ။ Method Call သည္ ဆုိရာ၀ယ္ Method နွစ္မ်ိဴး သာ ရွိသည္ ။ Return ျပန္ေသာ Method နွင္႔ Return မျပန္ေသာ Method တုိ႔ျဖစ္ၾကသည္ ။ ေAာက္တြင္ Return မျပန္ေသာ Method နွင္႔ Return ျပန္ေသာ Method တုိ႔ကုိ ဆက္လက္ ေဖၚျပပါမည္ ။ 3 .

Net မွ File \ New Project ကုိ ေရြးပါ ။ ၂ . ထုိ႔ေနာက္ Templates ထဲမွ Console Application ကုိ ေရြးပါ ။ ၃ . ၄ . Visual Studio . Main ေA ာက္တြင္ ဒီလုိေရးပါ ။ static void FunctionOne() { 4 .WriteLine("I'm in Main!"). FunctionOne().Method Call ပံု စတင္Aသံုးျပဳမယ္႔ သူAားလုံးAတြက္ ရည္ရြယ္ျပီး Console Application ကုိ A သံုးျပဳပါမယ္ ။ ၁ . Main ထဲတြင္ ဒီနွစ္ေၾကာင္းကုိေရးပါ ။ Console.

WriteLine("I'm in functionTwo!"). } static void FunctionTwo() { Console. } ၅ .Console. Aဆင္႔ ၄ Aထိ Programm ေရးျပီးရင္ ဒီလုိ ျမင္ရမွာပါ ။ Fig : Program . Program Run ဖုိ႔Aတြက္ CTRL + F5 ကုိ နွိပ္ပါ ။ ၉ . Build succeeded ဆုိတ႔ဲ စာသားေလးကုိ Window ေAာက္ေျခနားမွာ ျမင္ရျပီဆုိရင္ Compile လုပ္တာ ေAာင္ျမင္ပါျပီ ။ ၈ . ေရးထားတဲ႔ Program ကုိ SHIFT + CTRL + B နဲ႔ Compile လုပ္ပါမယ္ ။ ၇ .WriteLine("I'm in functionOne!"). Result က ဒီလုိ ျမင္ရမွာပါ ။ 5 . FunctionTwo().1 ၆ .

Aခုဆိုရင္ Program ကုိ Trace လုိက္ရန္ Aသင္႔ျဖစ္ပါျပီ ။ 6 . Programm ကုိ Run ဖုိ႔Aတြက္ F5 ကို ျပန္နွိပ္ပါ ။ ( CTRL + F5 ကုိ နွိပ္ရင္ Trace လုိက္ေပးမွာ မဟုတ္ပဲ Program ဟာ တန္းျပီး Aလုပ္လုပ္သာြ းမွာပါ ) ၁၃ . Result ထြက္လာရင္ Programmer တစ္ေယာက္ မျဖစ္မေန လုပ္ရမယ္႔ Aလုပ္တစ္ခု ကို စတင္လုပ္ရပါမယ္ ။ Aဲဒါကေတာ႔ Trace လိုက္ရမွာပါ ။ ၁၁ . ဆုိတ႔ဲ ေနရာကို F9 နွိပ္ပါ ။ ( Break Point ေထာက္တယ္လုိ႔ ေခၚပါတယ္ ။ ) Fig : Program_Trace ၁၂ . Main ထဲမွာ ရွိတ႔ဲ Console.Fig : Program – 1 ( Result ) ၁၀ .WriteLine ( “I’m in Main ! “).

F11 ကို Aသံုးျပဳျပီး Trace တစ္ေၾကာင္းျခင္း လုိက္လုိ႔ရပါျပီ ။ 7 .Fig : Program_1_Trace_With_F11 ၁၄ .

FunctionOne( ) ရဲ႔ Coding ကုိ Aနည္းငယ္ေျပာင္းလဲထားျပီး FunctionTwo( ) ေနရာမွာ int ကုိ return ျပန္ေပးမယ္႔ Doubler(int originalValue) ကုိ ေရးပါမယ္ ။ using System. namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console. } } } ရွင္းလင္းခ်က္ ။ ။ y = Doubler(x).WriteLine("x was {0} and y is {1}". } static void FunctionOne() { Console. return doublevalue. y).Generic. y = Doubler(x). using System. using System. Console.Method Call ပံု နွင္႔ return Value Aေၾကာင္း ဒီ တစ္ခါ Method Call ပံု ႏွင္႔ Return Value Aေၾကာင္းကုိ ေျပာပါမယ္ ။ Aေပၚမွာ ေရးခဲ႔တ႔ဲ Coding ကုိ ပဲ ျပင္ေရးမွာပါ ။ ၁ .Text. FunctionOne().WriteLine("I'm in Main!"). } static int Doubler(int originalValue) { int doublevalue = originalValue * 2. x.Collections. int x = 5.WriteLine("I'm in functionOne!"). int y. ဆုိတ႔ဲ AေျခAေနမွာ x ရ႔ဲ တန္ဖုိးဟာ Aေပၚမွာ ထည္႔ထားတဲ႔ 5 ပါ ။ Aဲဒီေနာက္ static int Doubler(int originalValue) 8 .

} ကုိ သြားေခၚလုိက္တ႔ဲ Aခါ originalValue ထဲကုိ x ရဲ႔ တန္ဖုိး 5 ေရာက္သာြ းပါတယ္ ။ Doubler Function ဟာ ၀င္လာတဲ႔ တန္ဖုိး (originalValue)ကုိ ၂ ဆ ေျမာက္လုိက္ျပီး doublevalue ထဲသို႔ ထည္႔လုိက္ပါတယ္ ။ ထုိ႔ေနာက္ return ကုိ Aသံုးျပဳျပီး ရလာတဲ႔ int တန္ဖုိး 10 ကုိ y ထဲသုိ႔ ေရာက္ေစပါတယ္ ။ Result Screen ကေတာ႔ ဒီလုိပါ ။ 9 .{ int doublevalue = originalValue * 2. return doublevalue.

Conditional ဆုိသည္မွာ Conditional ဆုိသည္မွာ လက္ေတြ႔တြင္ ျဖစ္ပ်က္ေနေသာ Aေၾကာင္းAရာမ်ားကုိ Aနီးစပ္ဆံုး တူညီေAာင္ ေဖၚျပရန္Aတြက္ Aသံုးျပဳရျခင္း ျဖစ္သည္ ။ Conditional မပါေသာ Program ဆုိသည္ မွာ မရွိေလာက္ေAာင္ ရွားပါသည္ ။ IF Aေၾကာင္း Uပမာ ။ ။ မုိးရြာလွ်င္ ထီးေဆာင္းမည္ ။ Condition တစ္ခု ကုိသာ စစ္လုိေသာ Aခါ If ကုိ Aသံုးျပဳသည္ ။ if (isRaining) OpenUmbrella().WriteLine(“You are over 40”). if(Money == “Dollar”) { Console.WriteLine(“Dollar”). တစ္ခုထက္ပုိ ျဖစ္ပ်က္ေသာ Aေၾကာင္းAရာမ်ားကုိ စစ္လုိေသာ Aခါ If .WriteLine(“Kyat”).WriteLine(“Youth abounds!”). } else { Console.else ကုိ သံုးနုိင္သလုိ Nested If ကုိ လည္း Aသံုးျပဳနုိင္သည္ ။ If else if else. } else if(Money == “Yum” ) { Console.else if .WriteLine(“Yum”). else Console. } Nested If if( temperature > freezingPoint ) { if ( temperature < boilingPoint ) 10 . နွစ္မ်ိဴးသာ ျဖစ္နုိင္ေသာ Aေၾကာင္းAရာမ်ားကုိ စစ္လုိေသာ Aခါ If else ကုိ သံုးသည္ ။ if ( myAge > 40 ) Console.

using System.2.3.Collections. else Console.WriteLine("Walking. goto case 4.WriteLine("Running.4]: "). } } } } မွတ္ခ်က္ ။ ။ Program ကုိ Run တဲ႔ Aခါ CTRL+F5 ကုိ နွိပ္မွ Result ကုိ ျမင္ရမွာပါ ။ goto case 4.ReadLine(). case 2:Console..ToInt32(choice)."). break.WriteLine("Crawling. break. } else ConsoleWriteLine(“Water is solid”). string choice = Console.WriteLine("Falling. Switch Aေၾကာင္း using System.. case 4: Console.. ဆုိတ႔ဲ ေနရာကုိ သတိျပဳမိမွာပါ ။ Run Box မွာ 2 လုိ႔ ရုိက္ထည္႔လုိက္ပါ ။ Aဲဒါဆုိရင္ goto Aလုပ္လုပ္သာြ းပံု ကုိ Aလြယ္တကူ နားလည္နုိင္မွာပါ ။ 11 .").Console..").. switch (menuChoice) { case 1: Console.. case 3: Console.. int menuChoice = Convert."). break.WriteLine(“Water is gaseous”).Text..Generic.Write("(1) Walk (2) Run (3) Crawl (4) Falling [1.WriteLine(“Water is liquid”). namespace ConsoleApplication1 { class Program { static void Main() { Console. using System.

goto Aသံုးျပဳရျခင္း ရည္ရယ ြ ္ခ်က္ကေတာ႔ သူန႔ဲ သက္ဆုိင္တ႔ဲ Aေၾကာင္းAရာ တစ္ခုကို ပူးတြဲ ျပခ်င္တ႔ဲ Aခါမ်ိဳးမွာ သံုးေလ႔ ရွိပါတယ္ ။ ေAာက္က Result Screen မွာ 2 လို႔ ရုိက္ထည္႔လုိက္တ႔ဲ Aခါ Running … Falling…. ဆုိျပီး ပါလာပါတယ္ ။ Result Screen Fig : Switch LOOPING Aေၾကာင္ Aေၾကာင္း C# မွာ Supports လုပ္တ႔ဲ Looping Instructions မ်ားကေတာ႔ 12 .

• goto • while • do…while • for • foreach goto Aေၾကာင္း goto ဟာ if နဲ႔ လည္း တြဲဖက္ Aသံုးျပဳလုိ႔ ရပါတယ္ ။ 13 .

Collections. do..Generic. if (i < 10) goto repeat.. using System.Text. using System.WriteLine("goto. for Aေၾကာင္း using System. repeat: Console... i). i++. } } } Result Screen Fig : goto while . while . namespace ConsoleApplication1 { class Program { static void Main() { // goto Console. do. 14 . int i = 0.").using System.Write("{0} ".

while (i < 10) { Console.. using System. i < 10. i).. } } } } Result Screen 15 . do { Console.. for (i = 0.Write("{0} ". } while (i < 10).WriteLine("\n\nDo While.Generic.Write("{0} "."). i = 0.Text.Collections.. i)..Write("{0} ". namespace ConsoleApplication1 { class Program { static void Main() { // while Console. } // do. // for Console.WriteLine("While.WriteLine("\n\nFor. i++. i). i++. int i = 0.")... i++) { Console.").while Console..using System.

Fig : While_DoWhile_For foreach Aေၾကာင္း END 16 .

Sign up to vote on this title
UsefulNot useful