É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