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
Top comments (0)