Atšķirība starp boksa un boksa boksu C # kategorijā

Autors: Laura McKinney
Radīšanas Datums: 2 Aprīlis 2021
Atjaunināšanas Datums: 5 Maijs 2024
Anonim
Boksa pārlūkprogrammas spēle ar reālistiskāko grafiku. 🥊🥊  - Punchers GamePlay 🎮📱
Video: Boksa pārlūkprogrammas spēle ar reālistiskāko grafiku. 🥊🥊 - Punchers GamePlay 🎮📱

Saturs


C # visi vērtību tipi ir atvasināti no klases objekta. Tātad tipa objekta atsauces mainīgais var atsaukties uz jebkuru citu vērtības tipu. C # ievieš divas metodes boksam un boksam, kas saista vērtības tipu ar atsauces tipu. Galvenā atšķirība starp boksu un neboksēšanu ir tāda, ka bokss ir vērtības veida pārvēršana objekta tipā, turpretī termins Unboxing attiecas uz objekta tipa pārvēršanu vērtības tipā. Ļaujiet mums izpētīt citas atšķirības starp boksa un boksa boksu.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamatsBokssNoņemot boksu
PamataObjekta tips attiecas uz vērtības tipu.vērtības iegūšanas process no ieliktā objekta.
UzglabāšanaKaudzē saglabātā vērtība tiek kopēta objektā, kas glabājas kaudzes atmiņā.Objektu vērtība, kas saglabāta kaudzes atmiņā, tiek kopēta uz vērtības veidu, kas tiek saglabāts kaudzē.
PārveidošanaNetieša konversija.Nepārprotama konversija.
Piemērsint n = 24;
objekts ob = n;
int m = (int) ob;


Boksa definīcija

Bokss ir procedūra, kā vērtības tips tiek pārveidots par objekta tipu. Šeit vērtības tips tiek saglabāts kaudzē, un objekta tips tiek saglabāts kaudzes atmiņā. Šī vērtības veida pārvēršana objekta tipā ir netieša konvertācija. Jūs varat tieši piešķirt objektam vērtību, un C # veiks pārējo pārveidošanu. Sapratīsim boksu ar piemēru.

int i = 24; objekts ob = i; // Ierakstiet vesela skaitļa tipu objekta tipā ob. vai objekts ob1 = 21; // šeit arī objekta tips ob1 attiecas uz vesela skaitļa tipu

Iepriekš minētajā kodā vesels skaitlis i, kura vērtība ir 24, tiek saglabāts kaudzē un tiek kopēts objekta tipā ob. Objekta tips tagad atsaucas uz veselu skaitli. Tagad “int i” satur arī vērtību 24 un “objekta tips ob” arī vērtību 24, taču abas vērtības ir neatkarīgas viena no otras, ti, ja maināt i vērtību, tā neatspoguļo izmaiņas ob vērtība


Bokss kopā ar papildu laiku patērē papildu atmiņu. Iemesls ir tāds, ka jaunam objektam, kas atsaucas uz vērtības tipu, ir jāpiešķir atmiņas vieta kaudzē. Tālāk kaudzē saglabātā vērtības veida vērtība tiks pārsūtīta objekta tipam kaudzes atmiņas vietā.

Unboxing definīcija

Boksa apgrieztā puse ir bokss. Unboxing ir objekta tipa pārvēršana vērtības tipā. Sadaļā Unboxing kaudzē saglabātā kastē ievietotā objekta veida vērtība tiek pārsūtīta uz vērtības tipu, kas tiek saglabāts kaudzē. Atšķirībā no boksa, boksa noņemšana ir jāveic skaidri. Objekta tips ir skaidri noteikts vērtības tipam, un vērtības tipam jābūt tādam pašam kā vērtībai, uz kuru attiecas objekta tips. Sapratīsim jēdzienu Unboxing ar piemēru.

int i = 24; objekts ob = i; // Ierakstiet vesela skaitļa tipu objekta tipā ob. int j = (int) ob; // Noņemiet objekta tipā ob saglabāto vesela skaitļa vērtību lodziņā y.

Objektā ob saglabātā vērtība tiek iegūta, nododot to tipam, uz kuru objekts atsaucās, t.i., vesela skaitļa tipu “j”.

Arī kastītes noņemšana patērē vairāk atmiņas un vairāk laika. Tā kā, kad objekta tips ir jāatslēdz, kastē saglabātā objekta tipa vērtība jāpārnes uz jauno vērtības tipu, kas tiek saglabāts kaudzē. Objekta tips, kura iegūtā vērtība tagad būs pieejama atkritumu savākšanai.

  1. Boksā objekts tiek veidots kā atsauces veids. No otras puses, vērtības izgūšanas procesu no ievietotā objekta sauc par unboxing.
  2. Kaudzē saglabātais vērtības tips tiek kopēts objektā, kas tiek saglabāts kaudzes atmiņā. No otras puses, noņemot kastīti, kaudzes atmiņā saglabātais objekts tiek kopēts vērtības vērtībā, kas tiek saglabāts kaudzītes atmiņā.
  3. Bokss ir netiešs reklāmguvums, turpretī boksa bokss ir tiešs reklāmguvums.

Secinājums:

Gan bokss, gan bokss patērē vairāk laika un atmiņas, un tie skaitļošanas ziņā ir dārgi. Viņiem trūkst arī tipa drošības un palielinās izpildlaika izmaksas. Vienmēr ieteicams izvairīties no pārāk lielas boksa un boksa programmas izmantošanas programmā.