Érték típus és hivatkozás adattípusok c #

megállapodás

Megállapodás a személyes adatok feldolgozása

Érték típusa és típusai C # adatok

Az adattípusok C # osztva típusú értékek (érték típusú) és a referencia típus (referencia típus).

  • integer;
  • A lebegőpontos;
  • tizedes;
  • logikus;
  • struktúrákat;
  • Lista.

A különbség köztük az, hogy érték típusok adatok tárolására. és típusai - hivatkozás az adatokat. Az változók kerülnek a különböző területeken rendelt memória a program, a továbbiakban a verem (stack) és halom (heap).

Mi stack és heap

Stack (fordítás angol - stack) - következetes adatszerkezet, ahol az egymást követő elemet adunk hozzá kell adni a végén. C #, mely a következőképpen működik: amikor a program elindul, a lefoglalt memória fenntartott folyamatos terület, ahol van elhelyezve a végén a stack pointer. Új adatok (például, variábilis inicializálás) végén elhelyezett a köteg, a mutatót mozgatjuk.

Ebben a példában, a végrehajtása során a módszer minta módszer hozzáadásra kerül a verem váltakozva változók x, A és Y, és azok értékeit. Ha az eljárás befejeződött, a memória, amely tárolja az adatokat a következő változók törlődnek, és a stack pointer fog mozogni újra.

A különbség a referenciaérték

Amellett, hogy az eltérő adatmezők típusú értékek és hivatkozások másik nagyon fontos különbség, amely a legegyszerűbb módja, hogy azonnal magyarázni egy példa:

Szóval, hol ezeket a változókat a, b, c és d érthető. De miért cl1.x pályán volt egyenlő 3, mert kisajátította: 1? Ebben rejlik a lényege a különbség értékek és hivatkozások a C #.

Amikor használja az értékadó operátor számára értékek, mint a változók, adatok felülírása a memóriában, és a változók maguk egymás között nem csatlakozik, és további változás nincs hatással egymásra.

De amikor rendel Cl2 = CL1 következő történt: Cl2 kezdett ugyanarra a memória CL1. és az adatokat, hogy a korábban említett Cl2. Kivettük a szemétgyűjtő hiánya miatt a hivatkozások.

Mivel CL1 és Cl2 most ugyanarra a domain, és kölcsönhatásba lépnek a rajta tárolt adatok is egyaránt, mind a két változó. És a tárolt adatok ezen a területen törlődik csak akkor távolítsa el a két linket, hogy kötődik történni a végén a módszer.

Létrehozása változók a C # programozási nyelv

Kapcsolódó cikkek