Tutorials of .Net Framework Part(9)
Structure in .Net
Structure အကြောင်းကိုတော့ ကျွန်တော် အပေါ်မှာ အနည်းငယ်တော့ ပြောခဲ့ပြီးဖြစ်ပါတယ်။Structure ကို .Net မှာ struct လို့ခေါ်ပါတယ်။အတိုကောက်ပါ။Structure ကိုဘယ်မှာသုံးလဲဆိုတော့ ဆက်စပ်မှုရှိတဲ့ Data တွေကို တစ်စုတစ်စည်းတည်း ထားချင်တဲ့ အခါမှာသုံးပါတယ်။
Structure က ဘာနဲ့အနည်းငယ် တူသလဲဆိုတော့ class နဲ့တူပါတယ်။
သူလည်းဘဲ တည်ဆောက်ချင်ရင် class လိုဘဲတည်ဆောက်ရပါတယ်။သူနဲ့class နဲ့ကဘာကွာခြားလဲဆိုတော့ class က inherit and also implements data တွေကိုပြုလုပ်နိုင်ပါတယ်။inherit ဆိုတာက မြန်မာလိုပြောရရင် အမွေဆက်ခံတာပါ။
နောက်ပိုင်းအခန်းတွေမှာ inherit အကြောင်းကိုကျွန်တော်သေချာရှင်းပေးပါမယ်။Structure ကတော့ class လိုမျိုး inherit တွေကိုတော့ မပြုလုပ်နိုင်ပါဘူး။Implement ကိုတော့ class နည်းတူပြုလုပ်နိုင်ပါတယ်။အဲ့ဒီ စာလုံးတွေက မြန်မာပြန်ရင်နည်းနည်းတော့ ကသိကအောက်ဖြစ်ပါတယ်။
ရှင်းအောင်တိုတိုပြောရရင် struct နဲ့class နဲ့ကအတူတူပါဘဲ။struct က Value Type ပါ။class က Reference Type ဖြစ်တဲ့အတွက်ကြောင့် struct ထက်ပိုပြီးတော့နည်းနည်းလေး လေးပါတယ်။ဒါပေမဲ့ class ကတော့အကောင်းဆုံးပါဘဲ။ struct ကိုသုံးမယ်ဆိုရင်သူ့မှာသတ်မှတ်ထားတဲ့ စည်းကမ်းလေးတွေတော့ရှိတယ်ဗျ။
ဘာတွေလဲဆိုတော့
1. 16 bytes ထက်ကျော်ပြီးတော့ထည့်လို့မရပါ။
2. Create လုပ်ပြီးသွားရင် ပြန်ပြင်လို့မရပါဘူး။
3. Reference Type သို့ပြောင်းလဲလို့မရပါ။
ဆိုပြီးတော့သုံးမျိုးရှိပါတယ်။struct ကိုသုံးမယ်ဆိုရင် သူ့အထဲမှာ Data Field တွေကို 16 Bytes ထက်ကျော်ပြီးတော့ ထည့်လို့မရပါဘူး။နောက်တစ်ခုကသူ့ကိုဖန်တီးပြီးသွားရင် ပြန်ပြီးတော့ ပြင်လို့မရပါဘူး။override လုပ်လို့မရတာကိုပြောတာပါ။နောက်ဆုံးတစ်ခုကတော့ သူ့ကို Reference Type အဖြစ်သို့ပြောင်းလဲလို့မရတာဖြစ်ပါတယ်။
အဲ့ဒီလို ပြောင်းလဲနည်းကိုတော့ နောက်မှာကျွန်တော် ရှင်းပြထားပါတယ်။အဲ့ဒီလိုမျိုးအားနည်းချက်တွေကြောင့် Developer … Programmer တွေက struct တွေကိုသိပ်မသုံးဘဲနဲ့ class တွေကိုဘဲအသုံးများကြပါတယ်။
- ကဲဒီလောက်ဆိုရင်တော့ ကျွန်တော်တို့ struct အကြောင်းလေးကိုပိုပြီးတော့သိသွားအောင် Program လေးတစ်ပုဒ်လောက်ရေးကြည့်လိုက်ရအောင်။
ဆိုပြီးတော့ရေးထားပါတယ်။ပထမဦးဆုံး ကျွန်တော် Variable နှစ်ခုကြေညာထားပါတယ်။ပြီးတော့မှ struct ရဲ့Constructor လေးတစ်ခုဆောက်ထားပါတယ်။Parameter လေးနှစ်ခုလက်ခံထားပါတယ်။ဒါကြောင့် ၀င်လာတဲ့ parameter ထဲကတန်ဖိုးတွေကို အပေါ်ကကျွန်တော် ကြေညာထားတဲ့ Variable ထဲကိုထည့်လိုက်ပါတယ်။
ပြီးတော့မှ ToString() Method ကိုခေါ်ထားပါတယ်။အဲ့ဒီအထဲမှာတော့ ToString ရဲ့ထုံးစံအတိုင်း return ပြန်ထားပါတယ်။ကျွန်တော်တို့အပေါ်မှာကြေညာထားတဲ့ Variable နှစ်ခုရဲ့တန်ဖိုးတွေကို String.Format နဲ့return ပြန်ထားတာပါ။
String.Format() Method ကဘာကိုဆိုလိုတာလဲဆိုတော့ ၀င်လာတဲ့တန်ဖိုးတွေကို String အနေနဲ့Format ချတာကိုဆိုလိုတာပါ။ပြီးတော့မှ အောက်မှတကယ်အလုပ်လုပ်မဲ့ class တစ်ခုဆောက်ထားပါတယ်။သူ့အထဲမှာတော့ Main Method ကိုဆောက်ထားပါတယ်။ပြီးတော့မှ အပေါ်က struct ရဲ့Constructor ကို parameter လေးနဲ့အတူလှမ်းခေါ်ထားပါတယ်။
ပြီးရင်တော့ Console.WriteLine ဆိုပြီးတော့ s ကိုရိုက်ထုတ်ထားပါတယ်။ဒါကြောင့် တစ်ခုချင်းရှင်းရမယ်ဆိုရင်တော့ Object ဆောက်ထားသောကြောင့် အပေါ်က struct ရဲ့Constructor ဆီကိုအရင်သွားပါတယ်။ပြီးတော့မှ Console.WriteLine ကိုသွားပြီးတော့အလုပ်လုပ်ပါတယ်။သူ့အထဲမှာတော့ s ဆိုတဲ့အတွက်ကြောင့် အပေါ်က ကျွန်တော်တို့ဆောက်ထားသော ToString() ကိုသွားပါတယ်။
ပြီးရင်တော့ Format ချပါတယ်။ပြီးတော့မှ The Location is : 10 30 ဆိုပြီးတော့ output ထုတ်ပြပါတယ်။
Output ကတော့ဒီလိုလေးပါ…။
ကဲဒါဆိုရင်တော့ struct အကြောင်းလေးကို သေချာသိသွားပြီလို့ကျွန်တော် မျှော်လင့်ပါတယ်။ ဆုံးသည်အထိဖတ်ပေးသောကြောင့်ကျေးဇူးတင်ပါတယ်။
အားလုံးကျန်းမာချမ်းသာကြပါစေ…။
ဆက်ပါဦးမည်…။
Facebook comments:





အကိုရေ ဒီပိုစ့်အတွက် ကျေးဇူးပါ..အားပေးနေပါတယ်..အကို့ပိုစ့်တွေတိုင်းကို စောင့်ဖတ်နေပါတယ်…အကိုလည်းအစစအရာရာ အဆင်ပြေပါစေဗျာ..
အခုလိုသိရတဲ့အတွက် ၀မ်းသာပါတယ်ခင်ဗျာ…
အသစ် C# Coding Standard လေးကိုလည်းလေ့လာကြည့်ပါအုံး။
စနစ်တကျလေးလေ့လာရအောင် ရေးပေးထားတာပါ။
ကျေးဇူးတင်ပါတယ်ခင်ဗျာ…။
Struct အကြောင်းရှင်းထားတာ တော်တော်ကောင်းပါတယ်။ ပို့စ်တိုင်းကို သေချာဖတ်ဖြစ်တယ်။ အများကြီး ကျေးဇူးတင်ပါတယ် ဝေမျှတာကို။