🔍 C# da Value types va Reference types farqi
C# da barcha ma’lumotlar ikki katta toifaga bo‘linadi:
- Value types (qiymat turlari)
- Reference types (havola turlari)
Ularning farqi — xotirada qanday saqlanishi va qanday nusxalanishida.
🔹 Value Types
➡️ Stack xotirada saqlanadi.
➡️ Obyektni boshqa o‘zgaruvchiga tenglashtirsak, qiymat nusxalanadi.
➡️ Mustaqil bo‘ladi, bittasi o‘zgarsa, boshqasiga ta’sir qilmaydi.
Misollar: int, double, bool, struct, enum
int a = 10; int b = a; // nusxa olindi b = 20; Console.WriteLine(a); // 10 Console.WriteLine(b); // 20 🔹 Reference Types
➡️ Heap xotirada saqlanadi.
➡️ Obyektni boshqa o‘zgaruvchiga tenglashtirsak, havola (pointer) nusxalanadi.
➡️ Ikkalasi ham bitta obyektni ko‘rsatadi, shuning uchun biri o‘zgarsa, boshqasiga ham ta’sir qiladi.
Misollar: class, object, string, array, interface
class Person { public string Name { get; set; } } Person p1 = new Person { Name = "Ali" }; Person p2 = p1; // havola nusxalandi p2.Name = "Vali"; Console.WriteLine(p1.Name); // Vali Console.WriteLine(p2.Name); // Vali
Top comments (0)