📦 C# da Boxing va Unboxing nima?
C# da boxing va unboxing — bu value type va reference type lar o‘rtasidagi aylantirishlar.
🔹 Boxing — bu int, double, bool kabi value type qiymatni object tipiga aylantirish.
🔹 Unboxing — bu object tipidagi qiymatni yana value type ga qaytarish.
🎯 Real hayotiy misol:
🧠 Nimaga kerak bo‘ladi?
Tasavvur qiling, sizda faqat object qabul qiladigan metod bor. Ammo siz unga int, double yoki bool yubormoqchisiz.
⚠️ Nima muhim?
- Boxing/unboxing sekin ishlaydi: chunki bu operatsiyalar qo‘shimcha xotira ishlatadi.
- Tez ishlaydigan kod yozmoqchi bo‘lsangiz, boxing dan qochganingiz yaxshi.
✅ Yaxshi amaliy yechim:
Agar siz object ishlatishga majbur bo‘lsangiz, genericlardan foydalaning:
🎓 Xulosa:
Boxing/unboxing — C# ning kuchli, lekin ehtiyotkorlik bilan ishlatilishi kerak bo‘lgan xususiyatlaridan biri. Ularni tushunsangiz, siz optimallashtirilgan va samarali kod yozishingiz mumkin!
@NodirxonCSharpDarslari
📌 #CSharp #DotNet #Boxing #Unboxing #Backend #OOP
C# da boxing va unboxing — bu value type va reference type lar o‘rtasidagi aylantirishlar.
🔹 Boxing — bu int, double, bool kabi value type qiymatni object tipiga aylantirish.
🔹 Unboxing — bu object tipidagi qiymatni yana value type ga qaytarish.
🎯 Real hayotiy misol:
int age = 25;
// 🔄 Boxing — int dan object ga
object boxedAge = age;
// 🔄 Unboxing — object dan yana int ga
int unboxedAge = (int)boxedAge;
Console.WriteLine(unboxedAge); // ➡️ 25
🧠 Nimaga kerak bo‘ladi?
Tasavvur qiling, sizda faqat object qabul qiladigan metod bor. Ammo siz unga int, double yoki bool yubormoqchisiz.
void Log(object data)
{
Console.WriteLine($"Data: {data}");
}
int score = 90;
Log(score); // ⚠️ Bu yerda avtomatik boxing bo'ladi
⚠️ Nima muhim?
- Boxing/unboxing sekin ishlaydi: chunki bu operatsiyalar qo‘shimcha xotira ishlatadi.
- Tez ishlaydigan kod yozmoqchi bo‘lsangiz, boxing dan qochganingiz yaxshi.
✅ Yaxshi amaliy yechim:
Agar siz object ishlatishga majbur bo‘lsangiz, genericlardan foydalaning:
void Print<T>(T value)
{
Console.WriteLine(value);
}
Print(100); // 🚀 No boxing
Print("Hi!"); // 🚀 No boxing
🎓 Xulosa:
Boxing/unboxing — C# ning kuchli, lekin ehtiyotkorlik bilan ishlatilishi kerak bo‘lgan xususiyatlaridan biri. Ularni tushunsangiz, siz optimallashtirilgan va samarali kod yozishingiz mumkin!
@NodirxonCSharpDarslari
📌 #CSharp #DotNet #Boxing #Unboxing #Backend #OOP
🔥8👍3🤩1