Milyen adattípusok léteznek a C#-ban

Milyen Adattipusok Leteznek A C Ban



Az adattípusok minden programozási nyelv fontos szempontjai, és a C# számos adattípust kínál, amelyeket változók deklarálására, metódusok meghatározására és objektumok létrehozására használnak. Ebben a cikkben a C# különböző adattípusait és azok alkategóriáit tárgyaljuk, beleértve az érték-, referencia- és mutató adattípusokat.

Milyen adattípusok léteznek a C#-ban?

A C# a erősen tipizált programozási nyelv , ami azt jelenti, hogy minden változót egy adott adattípussal kell deklarálni, és három fő adattípus-kategóriával rendelkezik:







1: Érték adattípusok

Az értékadattípusok azok, amelyek értékeiket közvetlenül a memóriában tárolják. A veremben vannak lefoglalva, és gyakran kisebb adatkészletek tárolására használják. Az értékadattípusok alkategóriái a következők:



Numerikus adattípus



Ezeket az adattípusokat numerikus értékek tárolására használják. A numerikus adattípusok több alkategóriára vannak osztva, például tizedesjegyekre, egészekre és lebegőpontos számokra:





  • Egész számok: Ezeket az adattípusokat egész számok tárolására használják, és az egész számok alkategóriái a következők: sbyte, byte, short, ushort, int, uint, long és ulong. Az egyes egész számokat tartalmazó adatformátumok értéktartománya változó.
  • Lebegőpontos számok: Ezeket az adattípusokat decimális számok tárolására használják, és a lebegőpontos számok alkategóriái közé tartozik a float és a double. A Float legfeljebb 7 tizedesjegyet, míg a double legfeljebb 15 tizedesjegyet képes tárolni.
  • Tizedesjegyek: Ezek az adattípusok rendkívül pontos decimális egész számok tárolására szolgálnak. A decimális legfeljebb 28 tizedesjegyet tárolhat.

Logikai adattípus

A logikai értékek, amelyek csak igazak vagy hamisak lehetnek, ebben az adatformátumban tárolódnak.



Karakter adattípus

A rendszer egyetlen karaktert tárol ezzel az adattípussal.

Példa

A következő példakód bemutatja, hogyan kell használni az érték adattípust C#-ban:

Rendszer használata;

névtér ValueDataTypesPélda
{
osztály Programja
{
statikus üresség Fő ( húr [ ] args )
{
int myInt = 5 ;
float myFloat = 3,14f;
double myDouble = 3,14159265359 ;
bool myBool = igaz ;
char myChar = 'a' ;

Console.WriteLine ( 'Az egész értékem: ' + myInt ) ;
Console.WriteLine ( 'Az én lebegő értékem: + myFloat ) ;
Console.WriteLine ( 'A kettős értékem: + myDouble ) ;
Console.WriteLine ( 'Az én logikai értékem: + myBool ) ;
Console.WriteLine ( 'Az én karakterem értéke: ' + myChar ) ;
}
}
}

Ebben a példában különböző értékű adattípusú változókat deklaráltunk és inicializáltunk, például int, float, double, bool és char. Ezután a Console.WriteLine metódussal kinyomtattuk ezeknek a változóknak az értékeit, a program kimenete a következő lesz:

2: Referencia adattípusok

A referencia adattípusok azok, amelyek hivatkozást tárolnak arra a memóriahelyre, ahol az értéket tárolják. A kupacban vannak lefoglalva, és általában nagyobb mennyiségű adat tárolására használják. A referencia adattípusok alkategóriái a következők:

Osztály

A C#-ban az osztály egy referenciatípus, amely meghatározza az objektumok létrehozásának tervét.

Húr

Ez a hivatkozási adattípus szöveges adatok tárolására szolgál, a karakterlánc hivatkozási típus, de sok tekintetben értéktípusként viselkedik.

Sor

Ezzel az adattípussal azonos típusú értékek gyűjteménye tárolható. A tömbök referenciatípusok, de bizonyos esetekben értéktípusként is viselkedhetnek.

Felület

Egy interfész metódusokat, tulajdonságokat, eseményeket és indexelőket határoz meg anélkül, hogy megadná a megvalósítás részleteit.

Delegált

A delegált lehetővé teszi, hogy egy metódust argumentumként adjon át egy másik metódusnak, majd később a delegálton keresztül meghívja azt.

Példa

Íme néhány minta C# kód, amely bemutatja, hogyan kell használni referencia adattípusok :

Rendszer használata;

osztály Személy
{
public string Név;
publikus int Kor;
}

osztály Programja
{
statikus üresség Fő ( húr [ ] args )
{
Személy személy1 = új személy ( ) ;
személy1.Név = 'SAJÁT MAGA' ;
személy1.Kor = húsz ;

Személy személy2 = személy1;
személy2.Kor = 30 ;

Console.WriteLine ( személy1.Név + 'van' + személy1.Életkor + ' éves.' ) ;
Console.WriteLine ( személy2.Név + 'van' + személy2.Életkor + ' éves.' ) ;
}
}

Ebben a példában a Személy osztály két nyilvános mezővel rendelkezik: Név, amely karakterlánc típusú, és Életkor, amely int típusú. Ezután elkészítjük a Person osztály új példányát, és hozzárendeljük a Main metódusban a person1-hez. Módosítjuk a person1 név és életkor attribútumait.

Ezután létrehozunk egy másik személy2 referenciaváltozót, és hozzárendeljük a személy1 értékét. Ezután a person2 Age tulajdonságát 30-ra módosítjuk.

Végül kinyomtatjuk a személy1 és a személy2 nevét és életkorát. Figyelje meg, hogy megváltoztatja az értékét személy2.Kor értékét is megváltoztatja személy1.Kor , mivel mindkét változó ugyanarra utal tárgy emlékül.

3: Mutató adattípusok

A mutató adattípusok egy másik változó memóriacímének tárolására szolgálnak. Alacsony szintű programozásban használják, például rendszerszintű programozásban vagy eszközillesztő-fejlesztésben . A C#-ban a mutató adattípusokat nem használják közvetlenül , de nem biztonságos kódblokkokban használhatók. A következő a mutató adattípusok alkategóriája:

Mutató adattípus

Ez az adattípus egy másik változó memóriacímének tárolására szolgál.

Itt van egy példa, amely bemutatja a használatát mutató adattípusok C#-ban, bár sok odafigyelést igényel:

Rendszer használata;

osztály Programja {
static unsafe void Main ( ) {
int szám = 10 ;
int * p = & az egyiken;
Console.WriteLine ( $ 'Num értéke: {num}' ) ;
Console.WriteLine ( $ 'Address of num: {(long)p:X}' ) ;
Console.WriteLine ( $ 'A szám értéke mutató használatával: {*p}' ) ;
Console.ReadLine ( ) ;
}
}

Ebben a példában a nem biztonságos kulcsszót használjuk a mutatók használatának engedélyezéséhez. Deklarálunk egy int típusú változót, és 10-es értéket adunk neki. Ezután létrehozunk egy int* típusú mutatóváltozót, és hozzárendeljük az érték memóriacímét a & operátor segítségével.

Továbbá az értékben tárolt értéket elérjük a mutató hivatkozásának megszüntetésével a * operátor használatával, és módosíthatjuk is az értéket ugyanazzal az operátorral:

Jegyzet: A mutatók használata C#-ban fokozott odafigyelést és odafigyelést igényel a memóriakezelési problémák elkerülése érdekében, ezért csak szükség esetén és óvatosan szabad használni őket.

Következtetés

A C#-ban számos különböző adattípus érhető el, amelyek különféle feladatokhoz használhatók. Kisebb mennyiségű adat tárolása értékadattípusok, nagyobb mennyiségek pedig referencia adattípusok használatával kerülnek tárolásra. A mutató adattípusokat az alacsony szintű programozásban használják, és a C#-ban nem gyakran használják.