Érték típusai és típusai
Ellentétben néhány programozási nyelvek, C # kétféle adattípusok: érték és referencia. Ha az alkalmazások teljesítményét elengedhetetlen, vagy érdekükben, hogy a C # menedzseli az adatokat és a memória, fontos tudni, hogy a különbség az ilyen típusú.
A típus tárolja annak tartalmát a memória mennyiségét a verem. Például, az érték 42 ebben az esetben egy memóriában tárolt nevezett területre egy köteg.
Ha a kimenet az x változó köréből befejezésekor eljárás végrehajtását, amelyek úgy nyilatkoztak, hogy az érték törlődik a verem.
A verem hatékony, de korlátozott élettartam érték típusok teszi őket kevésbé alkalmas az adatok megosztását a különböző osztályok.
Ezzel szemben ez a hozzáférési típusú, mint például egy osztály például vagy tömb található egy másik területen memória úgynevezett egy halom. A következő példában, a szükséges hely egy sor tíz egész számok, található a kupac.
int [] szám = new int [10];
Boksz és Unboxing
int i = 67; // i egy olyan érték típusú
O tárgy = i; // i bekereteztük
System.Console.WriteLine (i.ToString ()); // i bekereteztük
Lesz találkozás kicsomagolós ha használja osztályok felhasználásra tervezett tárgyak: például alkalmazásával ArrayList tárolására egészek. Ha felvesz egy egész szám ArrayList, ez dobozos. Amikor visszavesz egy egész, meg kell bontatlan.
új System.Collections.ArrayList (); // lista egy referencia típus
int n = 67; // n értéke típusú
list.Add (n); // n bekereteztük
n = (int) lista [0]; // lista [0] a doboz nélkül
És kicsomagolás
Csomagolás típusú úgynevezett konverziós folyamatot értéket egy referencia-típusú. Csomagoláshoz változó létre kell hozni egy referencia változó, hogy pont egy új példányt a kupac. A referencia változó egy objektum, ezért minden módszerek, amelyek öröklik az egyes objektumok, például toString () lehet használni azt. A következő kód azt mutatja, hogy ez hogyan történik.
int i = 67; // i egy olyan érték típusú
O tárgy = i; // i bekereteztük
System.Console.WriteLine (i.ToString ()); // i bekereteztük
Kicsomagolás használják a osztályok, rendeltetése, hogy dolgozni tárgyak: például, ArrayList használatra tárolására egészek. A tárolásához egész számok ArrayList használt csomagolóanyag. Amikor eltávolítja egy egész számot kell alkalmazni a kicsomagolás.
új System.Collections.ArrayList (); // lista egy referencia típus
int n = 67; // n értéke típusú
list.Add (n); // n bekereteztük
n = (int) lista [0]; // lista [0] a doboz nélkül