Value Type and Reference Type
umida5
Posted on October 18, 2024
Value type (Qiymat turlari)
Qiymat turlari to'g'ridan-to'g'ri qiymatlarni saqlaydi. Ular stack xotirasida joylashgan va o'zgaruvchilarga qiymatlarni ko'chirishda yangi nusxalar yaratiladi. Misollar:
- int
- float
- double
- char
- struct
Value Type xususiyatlari:
- Stack xotirasida saqlanadi.
- Har bir o'zgaruvchi o'z qiymatini mustaqil saqlaydi.
- Bir o'zgaruvchini boshqasiga o'zlashtirganda qiymat nusxasi o'rnatiladi.
- Null qiymat qabul qilmaydi (agar nullable bo'lmasa).
- Turli qiymat o'zgarishlari boshqa o'zgaruvchilarga ta'sir qilmaydi.
int a = 10;
int b = a; // b endi 10, a ga bog'liq emas
Havola turlari (Reference Types)
Havola turlari ma'lumotlar haqidagi ma'lumotlarni saqlaydi va ularni heap xotirasida joylashtiradi. O'zgaruvchilar havolalarni saqlaydi, shuning uchun bir o'zgaruvchini o'zgartirish boshqa o'zgaruvchilarga ham ta'sir qilishi mumkin. Misollar:
- class
- string
- array
- delegate
class Person
{
public string Name;
}
Person p1 = new Person();
p1.Name = "Ali";
Person p2 = p1; // p2 ham p1 ga bog'langan
p2.Name = "Vali"; // endi p1.Name ham "Vali" bo'ladi
💖 💪 🙅 🚩
umida5
Posted on October 18, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.