Qiymatlar turlari va havola turlari Ma’ruzachi: Muhriddin Fayziyev



Download 103,17 Kb.
Sana10.06.2022
Hajmi103,17 Kb.
#652095
Bog'liq
2. Qiymatlar turlari va havola turlari

Qiymatlar turlari va havola turlari

Ma’ruzachi: Muhriddin Fayziyev

C# da ma'lumotlar turi nima?

C# tilida (har qanday boshqa tilda bo'lgani kabi) ma'lumotlar turi -bu o'zgaruvchining (ob'ektning), doimiy yoki literalning xarakteristikasi bo'lib, uning aniqlanish sohasiga quyidagilar kiradi:

  • haqiqiy qiymatlar to'plami;
  • kompyuterda ma'lumotlarni ko'rsatishning ichki shakli;
  • ma'lum bir tur uchun ruxsat etilgan operatsiyalar to'plami.

C# tilida ma'lumotlar turlarining qanday toifalari (guruhlari) mavjud?

C# dasturlash tilidagi har qanday ma'lumotlar turi class (sinf) yoki struct (tuzilma) bilan ifodalanadi. 

Shunga ko'ra, C# tilining barcha ma'lumotlar turlari ikki toifaga (guruhlarga) bo'linadi:

  • qiymat turlari (value-types). 
    • Qiymat turlari strukturaviy tiplar yoki tayanch tiplar deb ham ataladi. Qiymat turlari tuzilmalar (struct) bilan tavsiflanadi;
  • havola turlari (reference-types).
    • Bu ma’lumot turlari sinflar bo'yicha tavsiflanadi.

Qiymat turlari va mos yozuvlar turlarining farqlari nimada?

Siz ma’lumot turlarini (qiymat turlari va havolar turlari) quyidagi usullar bilan farqlashingiz mumkin:

  • Obyektni (o'zgaruvchini) kompyuter xotirasida saqlash usuli.
  • Qiymat turlarining obyektlari (o'zgaruvchilari) to'liq stekka joylashtirilgan. Havola turlarining obyektlari quyidagi prinsip bo'yicha joylashtiriladi:

  • stek ob'ekt ma'lumotlariga havolani o'z ichiga oladi;
  • ob'ektning "boshqariladigan to'plami" (managed heap) ma'lumotlari (maydonlari) to'g'ridan-to'g'ri joylashtiriladi. Ushbu ma'lumotlar stekka havolani ko’rsatadi.

Stack


Xotira

Qiymat turlari va mos yozuvlar turlarining farqlari nimada?

2. Asosiy turdagi farq .

Qiymat turlari uchun asosiy tur System.ValueType hisoblanadi. Havolar turlari uchun asosiy tur System.ValueType dan tashqari har qanday muhrlanmagan (sealed bo’lmagan) tur bo'lishi mumkin.

3. Meros olish qobiliyati

Qiymat turlari har doim muhrlangan va shuning uchun ularni meros qilib bo'lmaydi (boshqalar uchun asos bo'ladi). Havola turlari, agar ular muhrlanmagan bo'lsa (sealed sifatida aniqlanmagan) boshqa turlar uchun asos bo'lishi mumkin (ya’ni, meros olish mumkin).

Qiymat turlari va mos yozuvlar turlarining farqlari nimada?

4. Funksiyaga parametrlarni berish usuli.

Qiymat turlarining o'zgaruvchilari qiymat bo'yicha uzatiladi. Bu argument o'zgaruvchisining to'liq nusxasi funksiyaga uzatilganligini anglatadi. Havola turlari bo'lsa, funktsiyaga havolani o'tkazishda faqat havolaning o'zi qiymat bo'yicha ko'chiriladi.

5. System.Object.Finalize() usulini qayta aniqlash.

Qiymat turlarini yakunlash shart emas, chunki ular havola turlaridan farqli o'laroq, hech qachon boshqariladigan to'plamga (managed heap) joylashtirilmaydi.

Qiymat turlari va mos yozuvlar turlarining farqlari nimada?

6. O'zgaruvchining mavjud bo'lish vaqti.

Qiymat turlari ular belgilangan kontekstdan tashqariga chiqqanda mavjud bo'lishni to'xtatadi. Havola turlari axlat yig'uvchi (garbage collector) tomonidan yo'q qilinadi.

Qiymat turlari va havola turlarining umumiy tomoni shundaki, konstruktorlar ikkalasi uchun ham aniqlanishi mumkin.

Ma'lumotlar turlarining har bir toifasining mosligi

Turlarning har bir toifasi uchun ulardan foydalanish shartlari belgilanadi. Agar kichik hajmdagi xotira va tezlik muhim bo'lsa, unda qiymat turlaridan foydalanish ko'proq mos keladi. Agar ma'lumotlarni saqlash uchun katta hajmdagi xotira kerak bo'lsa, unda havola turlaridan foydalanish maqsadga muvofiqdir. Buning sababi, “boshqariladigan to'p” (managed heap) stekdan kattaroqdir.

E’tiboringiz uchun rahmat

Ushbu darsni youtube sahifamizda ko’rishingiz mumkin


Download 103,17 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish