<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: khunsai thawzin</title>
    <description>The latest articles on Forem by khunsai thawzin (@khunsai_thawzin_42af6e108).</description>
    <link>https://forem.com/khunsai_thawzin_42af6e108</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3903638%2F78ee9d39-d49d-41df-9779-6641da3487d7.jpeg</url>
      <title>Forem: khunsai thawzin</title>
      <link>https://forem.com/khunsai_thawzin_42af6e108</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/khunsai_thawzin_42af6e108"/>
    <language>en</language>
    <item>
      <title>C# သင်ခန်းစာ - ၈</title>
      <dc:creator>khunsai thawzin</dc:creator>
      <pubDate>Mon, 04 May 2026 10:33:52 +0000</pubDate>
      <link>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-8-aoe</link>
      <guid>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-8-aoe</guid>
      <description>&lt;p&gt;Namespace ဆိုတာကို အရိုးရှင်းဆုံး အဓိပ္ပာယ်ဖွင့်ရရင်တော့ ကုဒ်တွေကို စနစ်တကျ စုစည်းသိမ်းဆည်းထားတဲ့ "ကွန်တိန်နာ (Container)" သို့မဟုတ် "နာမည်ပေးစနစ်" တစ်ခု ဖြစ်ပါတယ်။&lt;br&gt;
ပရိုဂရမ်တစ်ခုမှာ ကုဒ်တွေ အများကြီး ရေးလာတဲ့အခါ ဒါမှမဟုတ် တခြားသူတွေ ရေးထားတဲ့ Library တွေကို ယူသုံးတဲ့အခါ နာမည်တူတာမျိုးတွေ မဖြစ်အောင် Namespace က တားဆီးပေးပါတယ်။&lt;/p&gt;

&lt;p&gt;အောက်ပါ အချက်အလက်တွေနဲ့ အကျယ်တဝင့် လေ့လာကြည့်ရအောင် -&lt;/p&gt;

&lt;p&gt;၁။ ဘာကြောင့် Namespace ကို သုံးရတာလဲ? (The "Why")&lt;br&gt;
ဖိုင်တွဲ (Folder) တွေနဲ့ ဥပမာပေးရင် ပိုနားလည်လွယ်ပါတယ်။&lt;/p&gt;

&lt;p&gt;• ကွန်ပျူတာထဲမှာ Homework.docx ဆိုတဲ့ နာမည်တူ ဖိုင်နှစ်ခုကို Folder တစ်ခုတည်းမှာ သိမ်းလို့မရပါဘူး။&lt;/p&gt;

&lt;p&gt;• ဒါပေမဲ့ English ဆိုတဲ့ Folder ထဲမှာ Homework.docx တစ်ခု၊ Math ဆိုတဲ့ Folder ထဲမှာ Homework.docx တစ်ခု ခွဲသိမ်းရင်တော့ ရပါတယ်။&lt;/p&gt;

&lt;p&gt;ပရိုဂရမ်မင်းမှာလည်း အဲဒီ Folder လိုမျိုး အလုပ်လုပ်ပေးတာဟာ Namespace ဖြစ်ပါတယ်။ လူနှစ်ယောက်က Calculator ဆိုတဲ့ Class တစ်ခုစီ ရေးခဲ့ရင် Namespace ခွဲထားခြင်းအားဖြင့် နာမည်တူနေပေမဲ့ ကွန်ပျူတာက ခွဲခြားသိမြင်နိုင်ပါတယ်။&lt;/p&gt;

&lt;p&gt;၂။ Namespace ကြေညာပုံ (Declaration)&lt;br&gt;
C# မှာ Namespace တစ်ခုကို အောက်ပါအတိုင်း တည်ဆောက်ပါတယ်။&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;MyProject.Models&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Student&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;

    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;၃။ Namespace ကို ပြန်လည်အသုံးပြုပုံ (Using Directive)&lt;br&gt;
Namespace တစ်ခုထဲက Class တွေကို ယူသုံးချင်ရင် နည်းလမ်းနှစ်ခု ရှိပါတယ်။&lt;br&gt;
က။ အပြည့်အစုံရေးခြင်း (Fully Qualified Name): MyProject.Models.Student s = new MyProject.Models.Student(); (ဒါက ရေးရတာ ရှည်လျားလွန်းပါတယ်။)&lt;br&gt;
ခ။ using keyword ကို သုံးခြင်း: ပရိုဂရမ်ရဲ့ အပေါ်ဆုံးမှာ Namespace ကို ကြေညာလိုက်တာပါ။&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;MyProject.Models&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;Student&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;Student&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; 

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;၄။ Hierarchy (အဆင့်ဆင့် ဖွဲ့စည်းပုံ)&lt;br&gt;
Namespace တွေထဲမှာ Namespace အသေးလေးတွေ ထပ်ထည့်လို့ရပါတယ်။ ဒါကို Nested Namespaces လို့ ခေါ်ပါတယ်။ ဥပမာ - System.Collections.Generic&lt;/p&gt;

&lt;p&gt;• System က အကြီးဆုံး Namespace။&lt;br&gt;
• Collections က System ထဲက Namespace အခွဲ။&lt;br&gt;
• Generic က Collections ထဲက Namespace အခွဲ။&lt;/p&gt;

&lt;p&gt;၅။ Common Namespaces (အသုံးများသော Namespace များ)&lt;/p&gt;

&lt;p&gt;.NET မှာ အသင့်ပါပြီးသား Namespace အချို့ကတော့ -&lt;br&gt;
• System: အခြေခံအကျဆုံးအရာတွေ ပါဝင်တယ် (ဥပမာ- Console)။&lt;br&gt;
• System.IO: ဖိုင်အဝင်အထွက် ဖတ်တာ ရေးတာတွေအတွက်။&lt;br&gt;
• System.Linq: ဒေတာတွေကို ရှာဖွေစစ်ထုတ်ဖို့အတွက်။&lt;br&gt;
• System.Threading: ပရိုဂရမ်ကို အလုပ်တွေ အပြိုင်လုပ်ခိုင်းဖို့အတွက်။&lt;/p&gt;

&lt;p&gt;(Key Takeaways)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Organization: ကုဒ်တွေကို စနစ်တကျ အုပ်စုခွဲပေးတယ်။&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Naming Conflict: နာမည်တူနေတဲ့ Class တွေကြားမှာ ရောထွေးမှုမရှိအောင် လုပ်ပေးတယ်။&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Readability: ကုဒ်တွေကို ဖတ်ရတာ ပိုရှင်းလင်းစေတယ်။&lt;br&gt;
Namespace ဆိုတာ ကုဒ်တွေအတွက် "နေရပ်လိပ်စာ" ပေးလိုက်တာနဲ့ တူတူပါပဲ။&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>beginners</category>
      <category>coding</category>
      <category>basic</category>
      <category>csharp</category>
    </item>
    <item>
      <title>C# သင်ခန်းစာ - ၇</title>
      <dc:creator>khunsai thawzin</dc:creator>
      <pubDate>Mon, 04 May 2026 10:27:01 +0000</pubDate>
      <link>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-7-4hb0</link>
      <guid>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-7-4hb0</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;System&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;TourOfCsharp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Program&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;Main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="c1"&gt;// This line prints "Hello, World" &lt;/span&gt;
        &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;အထက်ပါ "Hello, World" ပရိုဂရမ်သည် System namespace ကို ရည်ညွှန်းသည့် using directive တစ်ခုဖြင့် စတင်ထားပါသည်။&lt;/p&gt;

&lt;p&gt;နိမ့်မြင့်စဉ်အလိုက် ဖွဲ့စည်းပုံ (Namespaces)&lt;br&gt;
Namespaces များသည် C# ပရိုဂရမ်များနှင့် Library များကို အဆင့်ဆင့်စနစ်တကျ စုစည်းရန်အတွက် အသုံးပြုသည့် နည်းလမ်းဖြစ်ပါသည်။ Namespace တစ်ခုအတွင်း၌ အခြားသော Namespace များနှင့် Type (ဒေတာအမျိုးအစား) များ ပါဝင်နိုင်သည်။&lt;/p&gt;

&lt;p&gt;ဥပမာအားဖြင့်-&lt;/p&gt;

&lt;p&gt;System namespace ထဲတွင် ပရိုဂရမ်ထဲမှာ အသုံးပြုထားသော Console class အပြင် အခြားသော type များစွာ ပါဝင်ပါသည်။&lt;/p&gt;

&lt;p&gt;၎င်းအပြင် IO နှင့် Collections ကဲ့သို့သော အခြား Namespace များစွာလည်း ပါဝင်နေပါသည်။&lt;/p&gt;

&lt;p&gt;Using Directive ၏ အသုံးဝင်ပုံ&lt;br&gt;
သတ်မှတ်ထားသော namespace တစ်ခုကို ရည်ညွှန်းသည့် using directive ကို အသုံးပြုခြင်းဖြင့် ထို namespace အတွင်းရှိ အဖွဲ့ဝင် (types) များကို အမည်အပြည့်အစုံ ရေးစရာမလိုဘဲ တိုက်ရိုက်အသုံးပြုနိုင်စေပါသည်။&lt;/p&gt;

&lt;p&gt;အတိုကောက်သုံးခြင်း: using System; ဟု ရေးထားခြင်းကြောင့် ပရိုဂရမ်တွင် System.Console.WriteLine ဟု အရှည်ကြီးရေးမည့်အစား Console.WriteLine ဟု အတိုကောက် ရေးသားနိုင်ခြင်း ဖြစ်ပါသည်။&lt;/p&gt;

&lt;p&gt;Implicitly Included: ရှေ့ကဖော်ပြခဲ့သော (Top-level statement) ဥပမာတွင်မူ ထို namespace ကို အလိုအလျောက် (သွယ်ဝိုက်သောနည်းဖြင့်) ထည့်သွင်းပေးထားပြီး ဖြစ်ပါသည်။&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>basic</category>
      <category>coding</category>
      <category>csharp</category>
    </item>
    <item>
      <title>C# သင်ခန်းစာ - ၆</title>
      <dc:creator>khunsai thawzin</dc:creator>
      <pubDate>Mon, 04 May 2026 10:03:43 +0000</pubDate>
      <link>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-6-3037</link>
      <guid>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-6-3037</guid>
      <description>&lt;p&gt;&lt;strong&gt;Compiler နဲ့ Interpreter ဘာကွာလဲ&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Compiler နဲ့ Interpreter နှစ်ခုလုံးဟာ ကိုယ်ရေးထားတဲ့ High-level code (C#, Python, Java) တွေကို ကွန်ပျူတာနားလည်တဲ့ Machine code အဖြစ် ပြောင်းပေးတဲ့ "ဘာသာပြန်ဆရာ" တွေ ဖြစ်ကြပါတယ်။ ဒါပေမဲ့ သူတို့ ဘာသာပြန်ပုံချင်းကတော့ အခြေခံအားဖြင့် ကွာခြားပါတယ်။&lt;br&gt;
အဓိက ကွာခြားချက်တွေကို အောက်ပါအတိုင်း နှိုင်းယှဉ်ကြည့်နိုင်ပါတယ်-&lt;/p&gt;

&lt;p&gt;၁။ အလုပ်လုပ်ပုံ (Process)&lt;br&gt;
• Compiler: ပရိုဂရမ်တစ်ခုလုံး (တစ်အုပ်လုံး) ကို အစကနေ အဆုံးထိ အကုန်ဖတ်ပြီးမှ တစ်ခါတည်း ဘာသာပြန်ပါတယ်။ ပြီးရင် .exe လိုမျိုး သီးခြားဖိုင်တစ်ခု ထုတ်ပေးပါတယ်။&lt;/p&gt;

&lt;p&gt;• Interpreter: ကုဒ်ကို တစ်ကြောင်းချင်းစီ ဖတ်ပါတယ်။ ပထမတစ်ကြောင်းကို ဖတ်တယ်၊ ဘာသာပြန်တယ်၊ ချက်ချင်း Run တယ်။ ပြီးမှ နောက်တစ်ကြောင်းကို ဆက်သွားပါတယ်။&lt;/p&gt;

&lt;p&gt;၂။ အမြန်နှုန်း (Speed)&lt;br&gt;
• Compiler: ဘာသာပြန်တဲ့အချိန် (Compilation time) ကတော့ ကြာတတ်ပါတယ်။ ဒါပေမဲ့ တစ်ခါဘာသာပြန်ပြီးသွားရင် ထွက်လာတဲ့ executable ဖိုင်က အလွန်မြန်မြန် Run နိုင်ပါတယ်။&lt;/p&gt;

&lt;p&gt;• Interpreter: သူကတော့ ဘာသာပြန်စရာမလိုဘဲ ချက်ချင်းစ Run လို့ရပါတယ်။ ဒါပေမဲ့ Run နေစဉ်မှာပဲ တစ်ကြောင်းချင်း ဘာသာပြန်နေရလို့ ပရိုဂရမ်တစ်ခုလုံးရဲ့ လုပ်ဆောင်ချက်က Compiler ထက် နှေးပါတယ်။&lt;/p&gt;

&lt;p&gt;၃။ အမှားရှာဖွေခြင်း (Error Handling)&lt;br&gt;
• Compiler: ကုဒ်ထဲမှာ တစ်နေရာရာမှာ အမှား (Error) ပါနေရင် ပရိုဂရမ်တစ်ခုလုံးကို ဘာသာပြန်မှာ မဟုတ်ပါဘူး။ အားလုံးမှန်မှသာ အလုပ်လုပ်ပါတယ်။&lt;/p&gt;

&lt;p&gt;• Interpreter: အမှားရှိတဲ့ စာကြောင်းကို မရောက်မချင်း ပရိုဂရမ်က ဆက် Run နေပါလိမ့်မယ်။ အမှားရှိတဲ့နေရာရောက်မှသာ ရပ်သွားပြီး Error ပြပါလိမ့်မယ်။&lt;/p&gt;




&lt;p&gt;နှိုင်းယှဉ်ချက်ဇယား (Comparison Table)&lt;br&gt;
အချက်အလက် Compiler            -Interpreter&lt;/p&gt;

&lt;p&gt;ဘာသာပြန်ပုံ   တစ်ခုလုံးကို အပြတ်ပြန်သည်။    -တစ်ကြောင်းချင်းစီ ပြန်သည်။&lt;/p&gt;

&lt;p&gt;Output  .exe သို့မဟုတ် .obj ဖိုင်ထွက်သည်။   -သီးခြားဖိုင် ထွက်မလာပါ။&lt;/p&gt;

&lt;p&gt;အသုံးပြုမှု   C, C++, C#                  -Python, JavaScript, PHP&lt;/p&gt;

&lt;p&gt;Memory  Memory ပိုသုံးသည်။                    -Memory သုံးစွဲမှု သက်သာသည်။&lt;/p&gt;




&lt;p&gt;ဥပမာ -&lt;br&gt;
• Compiler က "စာအုပ်တစ်အုပ်လုံးကို ဘာသာပြန်ထားတဲ့ ဘာသာပြန်စာအုပ်" နဲ့ တူပါတယ်။ သင်ဖတ်ချင်တဲ့အခါ အသင့်ဖတ်ရုံပါပဲ။&lt;/p&gt;

&lt;p&gt;• Interpreter ကတော့ "ဘေးကနေ တစ်ကြောင်းချင်း လိုက်ပြောပေးနေတဲ့ စကားပြန်" နဲ့ တူပါတယ်။ သူပြောတာကို စောင့်နားထောင်ရသလို သူရှိမှသာ အလုပ်ဖြစ်မှာပါ။&lt;/p&gt;

&lt;p&gt;မှတ်ချက်: C# ကတော့ ထူးခြားပါတယ်။ သူက Compiler ကိုရော (ကုဒ်ကို Intermediate Language ပြောင်းဖို့)၊ Interpreter/JIT (Just-In-Time) ကိုရော (IL ကနေ Machine Code ပြောင်းဖို့) နှစ်မျိုးလုံးကို ပေါင်းစပ်အသုံးပြုတာ ဖြစ်ပါတယ်။&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>csharp</category>
      <category>coding</category>
      <category>software</category>
    </item>
    <item>
      <title>C# သင်ခန်းစာ - ၅</title>
      <dc:creator>khunsai thawzin</dc:creator>
      <pubDate>Mon, 04 May 2026 09:57:10 +0000</pubDate>
      <link>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-5-1eof</link>
      <guid>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-5-1eof</guid>
      <description>&lt;p&gt;&lt;strong&gt;Compiler ဆိုတာဘာလဲ&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Compiler (ကွန်ပိုင်လာ) ဆိုတာ လူတွေနားလည်တဲ့ ပရိုဂရမ်မင်းဘာသာစကား (ဥပမာ - C#, C++, Java) နဲ့ ရေးထားတဲ့ ကုဒ်တွေကို ကွန်ပျူတာ Hardware က တိုက်ရိုက်နားလည်တဲ့ Machine Code (စက်ဘာသာစကား - 0 နဲ့ 1 များ) အဖြစ် ပြောင်းလဲပေးတဲ့ အထူးဆော့ဖ်ဝဲလ်တစ်ခု ဖြစ်ပါတယ်။&lt;br&gt;
ရိုးရိုးရှင်းရှင်း ပြောရရင် Compiler ဆိုတာ "ဘာသာပြန်ပေးသူ" လို့ မှတ်ယူနိုင်ပါတယ်။&lt;/p&gt;

&lt;p&gt;Compiler တစ်ခု ဘယ်လိုအလုပ်လုပ်သလဲ?&lt;/p&gt;

&lt;p&gt;Compiler ရဲ့ အလုပ်လုပ်ပုံ အဆင့်ဆင့်ကို အောက်ပါအတိုင်း အကြမ်းဖျဉ်း နားလည်နိုင်ပါတယ်-&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Source Code: ကိုယ်ရေးလိုက်တဲ့ C# ကုဒ်တွေကို Compiler ထဲကို ထည့်လိုက်ပါတယ်။&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Analysis: Compiler က ရေးထားတဲ့ ကုဒ်တွေမှာ သဒ္ဒါအမှား (Syntax Error) ပါသလားဆိုတာကို အရင်စစ်ဆေးပါတယ်။ (ဥပမာ - Semicolon ကျန်ခဲ့တာမျိုး)။&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Optimization: ကုဒ်တွေကို ပိုမိုမြန်ဆန်အောင်၊ မန်မိုရီ သက်သာအောင် ပြုပြင်ညှိနှိုင်းပေးပါတယ်။&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Code Generation: နောက်ဆုံးမှာတော့ ကွန်ပျူတာ CPU က နားလည်နိုင်တဲ့ Binary format (0, 1) အဖြစ် ပြောင်းလဲပြီး .exe ဖိုင် (သို့မဟုတ်) executable ဖိုင်တစ်ခု ထုတ်ပေးလိုက်ပါတယ်။&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Compiler ရဲ့ ထူးခြားချက်များ&lt;br&gt;
• တစ်ခါတည်း ဘာသာပြန်ခြင်း: Compiler ဟာ ပရိုဂရမ်တစ်ခုလုံးကို အစကနေ အဆုံးထိ အကုန်ဖတ်ပြီးမှ တစ်ခါတည်း ဘာသာပြန်တာဖြစ်ပါတယ်။ (ဒါဟာ စာကြောင်းတစ်ကြောင်းချင်းစီကို ဘာသာပြန်တဲ့ Interpreter နဲ့ ကွာခြားချက်ပါပဲ)။&lt;/p&gt;

&lt;p&gt;• မြန်ဆန်ခြင်း: တစ်ခါ ဘာသာပြန်ပြီးသွားရင် ထွက်လာတဲ့ .exe ဖိုင်ကို ထပ်ခါတလဲလဲ Run လို့ရပါတယ်။ ထပ်ပြီး ဘာသာပြန်နေစရာ မလိုတော့တဲ့အတွက် ပရိုဂရမ် Run တဲ့အခါ ပိုမြန်ပါတယ်။&lt;/p&gt;

&lt;p&gt;• အမှားရှာရလွယ်ခြင်း: ကုဒ်မှာ အမှားပါနေရင် Compiler က ဘာသာပြန်လို့ မရဘဲ ဘယ်နေရာမှာ မှားနေတယ်ဆိုတာကို တစ်ခါတည်း အစီရင်ခံစာ (Error Report) ထုတ်ပေးပါတယ်။&lt;/p&gt;

&lt;p&gt;ဥပမာအနေနဲ့ ကြည့်ရင်&lt;/p&gt;

&lt;p&gt;• ကိုယ်ရေးတဲ့ကုဒ် (Source Code) = "မြန်မာလို ရေးထားတဲ့ စာအုပ်"&lt;/p&gt;

&lt;p&gt;• Compiler = "ဘာသာပြန်ဆရာ"&lt;/p&gt;

&lt;p&gt;• ကွန်ပျူတာ (CPU) = "အင်္ဂလိပ်စာပဲ တတ်တဲ့သူ"&lt;/p&gt;

&lt;p&gt;ဘာသာပြန်ဆရာက မြန်မာစာအုပ်တစ်အုပ်လုံးကို အင်္ဂလိပ်လို ပြန်ရေးပေးလိုက်မှသာ အင်္ဂလိပ်စာပဲ တတ်တဲ့သူက အဲဒီစာအုပ်ကို ဖတ်လို့ရမှာ ဖြစ်ပါတယ်။&lt;/p&gt;

&lt;p&gt;C# မှာဆိုရင်တော့ csc.exe ဆိုတဲ့ compiler က သင်ရေးတဲ့ ကုဒ်တွေကို Intermediate Language (IL) အဖြစ် အရင်ပြောင်းပေးပြီးတော့မှ Run တဲ့အခါမှာ machine code အဖြစ် ထပ်ပြောင်းတာ ဖြစ်ပါတယ်။&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>basic</category>
      <category>csharp</category>
      <category>coding</category>
    </item>
    <item>
      <title>C# သင်ခန်းစာ - ၄</title>
      <dc:creator>khunsai thawzin</dc:creator>
      <pubDate>Mon, 04 May 2026 09:47:07 +0000</pubDate>
      <link>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-4-3i9a</link>
      <guid>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-4-3i9a</guid>
      <description>&lt;p&gt;Hello, World" ပရိုဂရမ်သည် ပရိုဂရမ်မင်းဘာသာစကားတစ်ခုနှင့် စတင်မိတ်ဆက်ရာတွင် အစဉ်အလာအရ အသုံးပြုလေ့ရှိသော ပရိုဂရမ်ဖြစ်သည်။ C# ဘာသာစကားဖြင့် ရေးသားထားသော ပရိုဂရမ်မှာ အောက်ပါအတိုင်းဖြစ်သည်-&lt;/p&gt;

&lt;p&gt;C#&lt;br&gt;
//This Line print "Hello, World" &lt;br&gt;
Console.WriteLine("Hello, World");&lt;/p&gt;

&lt;p&gt;• Comments (မှတ်ချက်များ): // ဖြင့် စတင်ထားသော စာကြောင်းမှာ Single line comment (တစ်ကြောင်းချင်း မှတ်ချက်) ဖြစ်သည်။ C# တွင် တစ်ကြောင်းချင်းမှတ်ချက်များသည် // ဖြင့် စတင်ပြီး ထိုစာကြောင်း၏ အဆုံးအထိ အကျုံးဝင်သည်။ ထို့အပြင် C# သည် စာကြောင်းအများကြီးပါသော Multi-line comments များကိုလည်း ပံ့ပိုးပေးထားသည်။ ၎င်းတို့သည် /* ဖြင့် စတင်ပြီး */ ဖြင့် အဆုံးသတ်သည်။&lt;/p&gt;

&lt;p&gt;• Output ထုတ်ခြင်း: System namespace ထဲတွင်ရှိသော Console class ၏ WriteLine method သည် ပရိုဂရမ်၏ ရလဒ် (Output) ကို ထုတ်ပေးခြင်းဖြစ်သည်။ စံသတ်မှတ်ထားသော class library များက ဤ class ကို ပံ့ပိုးပေးထားပြီး C# ပရိုဂရမ်တိုင်းသည် ထို library များကို အလိုအလျောက် ရည်ညွှန်းအသုံးပြု (Reference) ကြပါသည်။&lt;/p&gt;

&lt;p&gt;• Program Entry Point: ပရိုဂရမ်၏ နောက်ထပ်ပုံစံတစ်ခုမှာ ပရိုဂရမ်စတင်ရာနေရာ (Entry Point) အတွက် သက်ဆိုင်ရာ class နှင့် method များကို ကိုယ်တိုင်ကြေညာပေးရန် လိုအပ်ပါသည်။ သို့သော် သင်သည် Top-level statements (အပေါ်ဆုံးအဆင့် ရေးသားချက်များ) ကို အသုံးပြုပါက compiler က ထိုလိုအပ်သော အစိတ်အပိုင်းများကို အလိုအလျောက် ပေါင်းစပ်ဖန်တီးပေးမည် ဖြစ်သည်။&lt;/p&gt;

&lt;p&gt;** မေးခွန်း  ?? Hello World program ?? ကို Python , C++ တို့ ဘယ်လို ရေးရသလဲ**&lt;/p&gt;

</description>
      <category>coding</category>
      <category>beginer</category>
      <category>csharp</category>
      <category>software</category>
    </item>
    <item>
      <title>C# သင်ခန်းစာ - ၃</title>
      <dc:creator>khunsai thawzin</dc:creator>
      <pubDate>Sat, 02 May 2026 10:29:40 +0000</pubDate>
      <link>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-3-41hi</link>
      <guid>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-3-41hi</guid>
      <description>&lt;p&gt;C# ဟာ C ဘာသာစကား မိသားစုဝင် တစ်ခုဖြစ်ပါတယ်။  C, C++, JavaScript, TypeScript (သို့မဟုတ်) Java တို့ကို အသုံးပြုဖူးတယ်ဆိုရင် C# ရဲ့ ရေးထုံးတွေက ရင်းနှီးပြီးသား ဖြစ်နေပါလိမ့်မယ်။ &lt;/p&gt;

&lt;p&gt;• Semicolons (;): C နဲ့ C++ လိုပဲ Statement တစ်ခုရဲ့ အဆုံးကို semicolon (;) နဲ့ သတ်မှတ်ပါတယ်။&lt;/p&gt;

&lt;p&gt;• Case-sensitive: C# ရဲ့ အခေါ်အဝေါ် (Identifiers) တွေဟာ စာလုံးအကြီးအသေး ခွဲခြားမှု ရှိပါတယ်။ (ဥပမာ- myVariable နဲ့ MyVariable ဟာ မတူပါ)။&lt;/p&gt;

&lt;p&gt;• Braces ({ }): တွန့်ကွင်း { နဲ့ } များကို အသုံးပြုပုံ တူညီပါတယ်။&lt;/p&gt;

&lt;p&gt;• Control Statements: if, else, နဲ့ switch တို့လို ထိန်းချုပ်မှုဆိုင်ရာ အသုံးအနှုန်းတွေအပြင် for နဲ့ while လိုမျိုး ပတ်လမ်း (Loop) တည်ဆောက်ပုံတွေလည်း အတူတူပင် ဖြစ်ပါတယ်။&lt;/p&gt;

&lt;p&gt;• Foreach: ထူးခြားချက်အနေနဲ့ C# မှာ Collection အမျိုးအစားတွေအတွက် foreach ဆိုတဲ့ statement လည်း ပါဝင်ပါသေးတယ်။&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Foreach ဆိုတာဘာလဲ&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;foreach statement ဆိုတာ Collection (အစုအဝေး) တစ်ခုအတွင်းမှာရှိတဲ့ အချက်အလက်တွေကို တစ်ခုချင်းစီ အစဉ်လိုက် ထုတ်ယူစစ်ဆေးဖို့ အသုံးပြုတဲ့ ပတ်လမ်း (Loop) တစ်ခု ဖြစ်ပါတယ်။&lt;/p&gt;

&lt;p&gt;ရိုးရိုး for loop နဲ့ မတူတာကတော့ သူက "ဘယ်နှစ်ကြိမ်ပတ်ရမယ်" ဆိုတဲ့ အကြိမ်ရေကို တွက်နေစရာမလိုဘဲ အစုအဝေးထဲမှာ ရှိသမျှ အရာအားလုံး ကုန်သွားတဲ့အထိ အလိုအလျောက် အလုပ်လုပ်ပေးတာ ဖြစ်ပါတယ်။&lt;/p&gt;

&lt;p&gt;Foreach ဘယ်လိုအလုပ်လုပ်သလဲ (Logic)&lt;/p&gt;

&lt;p&gt;Foreachက အောက်ပါအဆင့်များအတိုင်း အလုပ်လုပ်ပါတယ်-&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;အစုအဝေး (ဥပမာ- List သို့မဟုတ် Array) ထဲက ပထမဆုံးအရာကို ယူတယ်။&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;၎င်းကို ယာယီ variable တစ်ခုထဲသို့ ထည့်တယ်။&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ကွင်းထဲမှာရှိတဲ့ ကုဒ်တွေကို လုပ်ဆောင်တယ်။&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;နောက်ထပ် လုပ်ဆောင်ရမယ့်အရာတွေ ရှိသေးရင် အဆင့် ၁ သို့ ပြန်သွားသည်။ မရှိတော့ရင် ရပ်တန့်မယ်။&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Foreach code simple&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;string[] students = { "Aung Aung", "Ma Ma", "Kyaw Kyaw" };&lt;/p&gt;

&lt;p&gt;foreach (string name in students)&lt;br&gt;
{&lt;br&gt;
    Console.WriteLine("Hello, " + name);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Output&lt;/p&gt;

&lt;p&gt;Hello, Aung Aung&lt;br&gt;
Hello, Ma Ma&lt;br&gt;
Hello, Kyaw Kyaw&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>csharp</category>
      <category>software</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>C# သင်ခန်းစာ - ၂</title>
      <dc:creator>khunsai thawzin</dc:creator>
      <pubDate>Sat, 02 May 2026 10:10:37 +0000</pubDate>
      <link>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-2-458b</link>
      <guid>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-2-458b</guid>
      <description>&lt;p&gt;&lt;strong&gt;.NET ဆိုတာဘာလဲ&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;.NET Platform ဆိုတာ Microsoft က တည်ဆောက်ထားတဲ့ အခမဲ့ (Free)၊ Open-source ဖြစ်ပြီး ဘာသာစကား အမျိုးမျိုး၊ Platform အမျိုးမျိုးမှာ အသုံးပြုနိုင်တဲ့ ဆော့ဖ်ဝဲလ် တည်ဆောက်ရေး ပတ်ဝန်းကျင် (Development Platform) တစ်ခု ဖြစ်ပါတယ်။&lt;br&gt;
ရိုးရိုးရှင်းရှင်း ပြောရရင် .NET ဆိုတာ Developer တွေအတွက် App အမျိုးမျိုး (Mobile, Desktop, Web, Game) ကို လွယ်လွယ်ကူကူနဲ့ မြန်မြန်ဆန်ဆန် တည်ဆောက်နိုင်အောင် စုစည်းပေးထားတဲ့ "ကိရိယာပုံး (Toolbox)" ကြီးတစ်ခုလို့ မှတ်ယူနိုင်ပါတယ်။&lt;/p&gt;

&lt;p&gt;.NET ရဲ့ အဓိက အစိတ်အပိုင်းများ&lt;br&gt;
.NET မှာ အဓိက အစိတ်အပိုင်း ၃ ခု ပါဝင်ပါတယ်-&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Programming Languages: C# က အသုံးအများဆုံး ဖြစ်ပြီး F# နဲ့ Visual Basic တို့ကိုလည်း သုံးလို့ရပါတယ်။&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Libraries (BCL): ပရိုဂရမ်တစ်ခု ရေးတဲ့အခါ အသုံးလိုမယ့် အခြေခံ လုပ်ဆောင်ချက်တွေ (ဥပမာ- ဖိုင်ဖတ်တာ၊ အချိန်တွက်တာ၊ စာသားတွေ စီမံတာ) ကို အသင့်သုံးနိုင်အောင် စုစည်းပေးထားတဲ့ ကုဒ်အစုအဝေးတွေ ဖြစ်ပါတယ်။&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Runtime (CLR): ဒါကတော့ ပရိုဂရမ်ကို အမှန်တကယ် အလုပ်လုပ်ပေးတဲ့ အင်ဂျင် (Engine) ဖြစ်ပါတယ်။ မန်မိုရီကို စနစ်တကျ စီမံပေးတာ (Memory Management) နဲ့ လုံခြုံရေးပိုင်းကို တာဝန်ယူပေးပါတယ်။&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;.NET နဲ့ ဘာတွေ လုပ်လို့ရလဲ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;.NET တစ်ခုတည်းကို သင်ထားရုံနဲ့ နယ်ပယ်အစုံမှာ App တွေ ရေးနိုင်ပါတယ်-&lt;/p&gt;

&lt;p&gt;• Web Apps: ASP.NET Core ကို သုံးပြီး စွမ်းဆောင်ရည်မြင့် ဝဘ်ဆိုဒ်တွေ ရေးနိုင်ပါတယ်။&lt;/p&gt;

&lt;p&gt;• Mobile Apps: .NET MAUI ကို သုံးပြီး Android နဲ့ iOS App တွေ တစ်ပြိုင်တည်း ရေးနိုင်ပါတယ်။&lt;/p&gt;

&lt;p&gt;• Desktop Apps: Windows အတွက် ဆော့ဖ်ဝဲလ်တွေ ရေးနိုင်ပါတယ်။&lt;/p&gt;

&lt;p&gt;• Games: ကမ္ဘာကျော် Unity Game Engine ဟာ .NET/C# ကို အခြေခံထားတာ ဖြစ်ပါတယ်။&lt;/p&gt;

&lt;p&gt;• Cloud &amp;amp; IoT: အင်တာနက် ချိတ်ဆက်ထားတဲ့ ကိရိယာလေးတွေနဲ့ Cloud ပေါ်က Service တွေမှာလည်း သုံးနိုင်ပါတယ်။&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ဘာကြောင့် .NET ကို သုံးသင့်တာလဲ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;• Cross-platform: Windows တစ်ခုတည်းတင်မကဘဲ Linux နဲ့ macOS ပေါ်မှာပါ အလုပ်လုပ်ပါတယ်။&lt;/p&gt;

&lt;p&gt;• Performance: .NET Core ထွက်လာပြီးနောက်ပိုင်း ကမ္ဘာ့အမြန်ဆုံး Web Framework တွေထဲမှာ တစ်ခုအပါအဝင် ဖြစ်လာပါတယ်။&lt;/p&gt;

&lt;p&gt;• Huge Community: လေ့လာစရာ သင်ခန်းစာတွေ အများကြီးရှိပြီး အခက်အခဲရှိရင် ကူညီပေးမယ့် Developer အသိုင်းအဝိုင်း အလွန်ကြီးမားပါတယ်။&lt;/p&gt;

&lt;p&gt;အနှစ်ချုပ်ရရင် .NET ဟာ ခေတ်မီတဲ့ ဆော့ဖ်ဝဲလ်တစ်ခုကို အခြေခံကနေ အဆုံးအထိ တည်ဆောက်ဖို့ လိုအပ်တဲ့ အရာအားလုံးကို တစ်နေရာတည်းမှာ ပံ့ပိုးပေးထားတဲ့ ခိုင်မာတဲ့ အခြေခံအုတ်မြစ် (Foundation) တစ်ခု ဖြစ်ပါတယ်။&lt;/p&gt;

</description>
      <category>software</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>csharp</category>
    </item>
    <item>
      <title>C# သင်ခန်းစာ - ၁</title>
      <dc:creator>khunsai thawzin</dc:creator>
      <pubDate>Sat, 02 May 2026 10:02:54 +0000</pubDate>
      <link>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-1-gpi</link>
      <guid>https://forem.com/khunsai_thawzin_42af6e108/c-sngkhncaa-1-gpi</guid>
      <description>&lt;p&gt;ဒီနေ့ လေ့လာမယ့် သင်ခန်းစာကတော့ C# ဖြစ်ပါတယ်။ C# ဘာသာစကားဟာ အခမဲ့ဖြစ်ပြီး Platform ပေါင်းစုံ(Windows, Linux, Macos, Android, Ios)မှာ အသုံးပြုနိုင်တဲ့ (cross-platform)၊ open source ဖွံ့ဖြိုးရေးပတ်ဝန်းကျင်တစ်ခုဖြစ်တဲ့ .NET platform အတွက် အသုံးအများဆုံး ဘာသာစကား ဖြစ်ပါတယ်။ C# ပရိုဂရမ်တွေကို Internet of Things (IoT) ကိရိယာလေးတွေကနေစလို့ Cloud စနစ်အထိ နေရာအနှံ့မှာ အသုံးပြုနိုင်ပါတယ်။ C# programming language ကို အသုံးပြုပြီး ဖုန်း၊ Desktop ကွန်ပျူတာ၊ Laptop နဲ့ Server တွေအတွက် App တွေကို ရေးသားနိုင်ပါတယ်။ &lt;br&gt;
C# ဟာ စွမ်းဆောင်ရည်မြင့်မားတဲ့ Code တွေကို ရေးသားရာမှာ Developer တွေအတွက် အလုပ်တွင်ကျယ်စေတဲ့ Platform ပေါင်းစုံသုံး ဘာသာစကားတစ်ခု ဖြစ်ပါတယ်။ C# ကို နည်းပညာနယ်ပယ် (Ecosystem) ထဲမှာ ကျယ်ကျယ်ပြန့်ပြန့် ထောက်ခံအားပေးကြပြီး လုပ်ငန်းခွင်သုံး (workloads) အမျိုးမျိုးမှာလည်း အသုံးပြုကြပါတယ်။ ၎င်းကို Object-oriented (အရာဝတ္ထုအခြေပြု) အခြေခံမူများပေါ်တွင် အခြေခံထားသော်လည်း အခြားသော နည်းစနစ်ပုံစံများ (အထူးသဖြင့် Functional programming) မှ လုပ်ဆောင်ချက်များစွာကိုလည်း ပေါင်းစပ်ထည့်သွင်းထားပါတယ်။&lt;br&gt;
Low-level features (စက်ပိုင်းဆိုင်ရာနဲ့ နီးစပ်တဲ့ လုပ်ဆောင်ချက်များ) ပါဝင်မှုကြောင့် အန္တရာယ်ရှိတဲ့ Code တွေ (unsafe code) ရေးစရာမလိုဘဲ စွမ်းဆောင်ရည် အလွန်ကောင်းမွန်တဲ့ အခြေအနေတွေကို ပံ့ပိုးပေးနိုင်ပါတယ်။ .NET ရဲ့ Runtime နဲ့ Library အများစုကို C# နဲ့ပဲ ရေးသားထားတာဖြစ်လို့ C# တိုးတက်လာမှုဟာ .NET developer အားလုံးအတွက် အကျိုးရှိစေပါတယ်။&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>software</category>
      <category>csharp</category>
    </item>
  </channel>
</rss>
