Értéktípusok és referenciatípusok felderítése
- 8 perc
Ha sok adattípus érhető el a C#-ban, a megfelelőt kell választania, ezért tisztában kell lenni azzal, hogy mikor választhat egy adattípust egy másikhoz.
Mielőtt megbeszélné, hogy miért választhat egy adattípust egy másikhoz, többet kell tudnia az adattípusokról. Azt is tudnia kell, hogyan működnek az adatok és az adattípusok a C# és a .NET-ben.
Mi az az adat?
A "mi az adatok" kérdés megválaszolása attól függ, hogy kitől és milyen kontextusban kérdezi meg.
A szoftverfejlesztés során az adatok lényegében a számítógép memóriájában bitek sorozataként tárolt értékek. A bit egy egyszerű bináris kapcsoló, amelyet 0 vagy 1, vagyis "ki" és "be" értékként jelenítünk meg. Egyetlen bit nem tűnik hasznosnak, azonban ha 8 bitet sorozatként egyesít, azok egy bájtot alkotnak. Ha bájtban használják, minden bit a sorrendben egy jelentést vesz fel. Valójában 256 különböző kombinációt jelölhet mindössze 8 bittel, ha bináris (base-2) számrendszert használ.
Bináris számrendszerben például a számot 19511000011a következőképpen jelölheti. Az alábbi táblázat segítségével szemléltetheti ennek működését. Az első sor nyolc oszlopból áll, amelyek egy bájtban lévő pozíciónak felelnek meg. Minden pozíció más numerikus értéket jelöl. A második sor egy bit értékét tárolhatja, akár 0, akár 1.
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
Ha összeadja a második sor egyik oszlopának megfelelő 1 számot az első sor minden oszlopából, akkor a bináris számrendszer-ábrázolásnak megfelelő decimális megfelelőt kapja. Ebben az esetben 128 + 64 + 2 + 1 = 195lenne.
Ha nagyobb értékekkel szeretne dolgozni 255, a számítógép több bájtot (általában 32 bites vagy 64 bites) tárol. Ha tudományos környezetben több millió nagy számmal dolgozik, érdemes megfontolni, hogy milyen adattípusokat használ. A kód futtatásához több memória szükséges.
Mi a helyzet a szöveges adatokkal?
Ha egy számítógép csak a 0-kat és a 1-ket érti, akkor hogyan teszi lehetővé, hogy szöveggel dolgozzon? Az ASCII-hez (American Standard Code for Information Interchange) hasonló rendszer használatával egyetlen bájttal jelölheti a nagybetűket és kisbetűket, számokat, tabulátorokat, backspace-t, newline-t és számos matematikai szimbólumot.
Ha például egy kisbetűt a szeretne értékként tárolni az alkalmazásban, a számítógép csak az érték bináris formáját értelmezi. Ahhoz, hogy jobban megértsem, hogyan kezeli a számítógép a kisbetűket a , meg kell találnom egy ASCII-táblát, amely ASCII-értékeket és azok decimális megfelelőit tartalmazza. Az "ASCII decimális visszakeresés" kifejezéseket megkeresve megtalálhatja az ilyen erőforrásokat online.
Ebben az esetben az kisbetű a megegyezik a decimális értékkel 97. Ezután ugyanazt a bináris számrendszert használná fordítottan, hogy megállapítsa, hogyan tárolja a számítógép az ASCII-betűt a .
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|
| 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
Mivel 64 + 32 + 1 = 97, a 8 bites bináris ASCII-kód a az 01100001.
Valószínű, hogy soha nem kell önállóan elvégeznie az ilyen típusú átalakításokat, de a számítógép adatelemzésének megértése alapvető fogalom, különösen az adattípusok mérlegelése során.
Mi az az adattípus?
Az adattípus egy programozási nyelv által definiált adattípus, amely meghatározza, hogy mennyi memóriát kell menteni egy értékhez. A C# nyelvben számos adattípus használható számos különböző alkalmazáshoz és adatmérethez.
A karrierje során készült legtöbb alkalmazás esetében az összes elérhető adattípus egy kis részhalmazára lesz szüksége. Azonban még mindig fontos tudni, hogy mások léteznek, és miért.
Érték és hivatkozástípusok
Ez a modul a C# két típusára összpontosít: referenciatípusokra és értéktípusokra.
A referenciatípusok változói az adataikra (objektumaikra) mutató hivatkozásokat tárolnak, vagyis máshol tárolt adatértékekre mutatnak. Összehasonlításképpen az értéktípusok változói közvetlenül tartalmazzák az adataikat. Amint többet megtudsz a C#-ról, új részletek tárulnak fel az érték- és a referenciatípusok közötti alapvető különbséggel kapcsolatban.
Egyszerű értéktípusok
Az egyszerű értéktípusok a C# által kulcsszavakként megadott előre definiált típusok. Ezek a kulcsszavak aliasok (becenevek) a .NET-osztálytárban definiált előre definiált típusokhoz. A C# kulcsszó int például a .NET-osztálytárban definiált értéktípus aliasa.System.Int32
Az egyszerű értéktípusok számos olyan adattípust tartalmaznak, amelyeket már korábban is használt.charbool Számos integrál és lebegőpontos értéktípus is létezik, amelyek egész és tört számok széles skáláját jelölik.
Összefoglalás
- Az értékek bitekként vannak tárolva, amelyek egyszerű ki-/bekapcsoló kapcsolók. Ezeknek a kapcsolóknak az összevonásával szinte bármilyen lehetséges értéket tárolhat.
- Az adattípusoknak két alapvető kategóriája van: érték- és referenciatípusok. A különbség az, hogy a számítógép hogyan és hol tárolja az értékeket a program végrehajtásakor.
- Az egyszerű értéktípusok kulcsszó-aliast használnak a .NET-kódtárban található típusok formális nevének megjelenítéséhez.
Tesztelje tudását
Visszajelzés
Hasznosnak találta ezt az oldalt?
No
Segítségre van szüksége ezzel a témakörrel kapcsolatban?
Szeretné kipróbálni az Ask Learn használatát a témakör tisztázásához vagy áttekintéséhez?