ခေါင်းစဉ် 48 / 63 30 မိနစ်

Type Conversion (Part -1)

ဒီသင်ခန်းစာမှာ Data Type တစ်မျိုးမှ အခြား Data Type တစ်မျိုးသို့ ပြောင်းလဲခြင်းဖြစ်သော Type Conversion အကြောင်း လေ့လာသွားမည်ဖြစ်သည်။ Implicit Conversion၊ Explicit Casting၊ Convert Class၊ Parse နှင့် TryParse တို့၏ ကွာခြားချက်များ၊ String နှင့် Number အပြန်အလှန်ပြောင်းလဲပုံ၊ User Input ကို Error မဖြစ်အောင် စစ်ဆေးလက်ခံပုံတို့ကို လက်တွေ့ C# နမူနာများဖြင့် ရှင်းလင်းထားသည်။


Program တစ်ခုမှာ Data Type မတူတဲ့ Value များကို အတူတကွ အသုံးပြုဖို့ လိုအပ်တတ်ပါတယ်။

ဥပမာ Console.ReadLine() နဲ့ လက်ခံရရှိတဲ့ User Input က string ဖြစ်ပါတယ်။ အသုံးပြုသူက 20 လို့ ထည့်လိုက်ရင်တောင် Program က အစပိုင်းမှာ "20" ဆိုတဲ့ စာသားအဖြစ် လက်ခံပါတယ်။

ဒီ Value ကို ပေါင်းခြင်း၊ နုတ်ခြင်းနဲ့ နှိုင်းယှဉ်ခြင်း ပြုလုပ်ချင်ရင် string ကနေ int အဖြစ် ပြောင်းလဲရပါမယ်။

"20"  →  20
string → int

ဒီလို Data Type တစ်မျိုးမှ အခြား Data Type တစ်မျိုးသို့ ပြောင်းလဲခြင်းကို Type Conversion လို့ ခေါ်ပါတယ်။

သင်ခန်းစာရည်ရွယ်ချက်

ဒီသင်ခန်းစာပြီးဆုံးတဲ့အခါ—

  • Type Conversion ဆိုတာဘာလဲ နားလည်မယ်။
  • Implicit နဲ့ Explicit Conversion ကွာခြားချက်ကို သိမယ်။
  • Casting Operator အသုံးပြုနိုင်မယ်။
  • Convert Class နဲ့ Data Type ပြောင်းနိုင်မယ်။
  • Parse() နဲ့ String ကို Number ပြောင်းနိုင်မယ်။
  • TryParse() နဲ့ User Input ကို လုံခြုံစွာ စစ်ဆေးနိုင်မယ်။
  • Number, Boolean နဲ့ DateTime များကို String မှ ပြောင်းနိုင်မယ်။
  • Data မဆုံးရှုံးစေရန် သင့်တော်တဲ့ Conversion နည်းလမ်း ရွေးချယ်နိုင်မယ်။

1. Type Conversion ဘာကြောင့်လိုအပ်သလဲ

အောက်ပါ Program ကို ကြည့်ပါ။

Console.Write("Enter first number: ");
string? firstInput = Console.ReadLine();

Console.Write("Enter second number: ");
string? secondInput = Console.ReadLine();

Console.WriteLine(firstInput + secondInput);

အသုံးပြုသူက 10 နဲ့ 20 ထည့်လိုက်ရင် Output က—

1020

ဖြစ်သွားပါမယ်။

အကြောင်းရင်းက Console.ReadLine() က လက်ခံရရှိတဲ့ Value တွေကို string အဖြစ် ပြန်ပေးလို့ပါ။ String နှစ်ခုကို + နဲ့ အသုံးပြုတဲ့အခါ ကိန်းပေါင်းတာမဟုတ်ဘဲ စာသားဆက်ပေးပါတယ်။

ကိန်းဂဏန်းပေါင်းချင်ရင် String Input တွေကို Number အဖြစ် ပြောင်းရပါမယ်။

int firstNumber = Convert.ToInt32(firstInput);
int secondNumber = Convert.ToInt32(secondInput);

Console.WriteLine(firstNumber + secondNumber);

Output—

30

2. Type Conversion အမျိုးအစားများ

C# မှာ Type Conversion ကို အဓိကအားဖြင့်—

  1. Implicit Conversion
  2. Explicit Conversion
  3. Conversion Methods

ဆိုပြီး လေ့လာနိုင်ပါတယ်။

Conversion Methods များမှာ—

  • Convert
  • Parse
  • TryParse
  • ToString

တို့ ပါဝင်ပါတယ်။

Implicit Conversion

3. Implicit Conversion ဆိုတာဘာလဲ

Data ဆုံးရှုံးနိုင်ခြေမရှိဘဲ သေးငယ်တဲ့ Data Type ကနေ ပိုမိုကြီးမားတဲ့ Data Type သို့ ပြောင်းလဲတဲ့အခါ C# က အလိုအလျောက် ပြောင်းပေးနိုင်ပါတယ်။

ဒီလို Programmer က Conversion Code တိတိကျကျ ရေးစရာမလိုဘဲ အလိုအလျောက်ပြောင်းလဲခြင်းကို Implicit Conversion လို့ ခေါ်ပါတယ်။

နမူနာ—

int number = 100;
long largeNumber = number;

Console.WriteLine(largeNumber);

ဒီ Code မှာ int Value ကို long အဖြစ် C# က အလိုအလျောက် ပြောင်းပေးပါတယ်။

Output—

100

နောက်ထပ်နမူနာ—

int quantity = 10;
double convertedQuantity = quantity;

Console.WriteLine(convertedQuantity);

Output—

10

int ကနေ double သို့ ပြောင်းတဲ့အခါ Value ကို ထိခိုက်စရာမရှိတာကြောင့် Implicit Conversion လုပ်နိုင်ပါတယ်။

Progress သိမ်းလိုပါက Login ဝင်ပါ။ Login မဝင်ဘဲလည်း ခေါင်းစဉ်အားလုံးကို လေ့လာနိုင်ပါသည်။