Nodirxon C# Darslari
1.46K subscribers
291 photos
28 videos
10 files
468 links
Kanal muallifi .NET Texnologiyalari Eksperti hisoblanadi.
Download Telegram
📦 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:
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