Kokie duomenų tipai egzistuoja C#

Kokie Duomenu Tipai Egzistuoja C



Duomenų tipai yra svarbus bet kurios programavimo kalbos aspektas, o C# siūlo keletą duomenų tipų, kurie naudojami kintamiesiems deklaruoti, metodams apibrėžti ir objektams kurti. Šiame straipsnyje aptarsime skirtingus duomenų tipus C# ir jų subkategorijas, įskaitant vertės, nuorodos ir rodyklės duomenų tipus.

Kokie duomenų tipai egzistuoja C#?

C# yra a stipriai spausdinta programavimo kalba , o tai reiškia, kad visi kintamieji turi būti deklaruoti naudojant konkretų duomenų tipą ir turi tris pagrindines duomenų tipų kategorijas:







1: reikšmės duomenų tipai

Vertės duomenų tipai yra tie, kurie savo reikšmes saugo tiesiogiai atmintyje. Jie yra paskirstomi ant krūvos ir dažnai naudojami mažesniems duomenų rinkiniams saugoti. Toliau pateikiamos vertės duomenų tipų subkategorijos:



Skaitmeninis duomenų tipas



Šie duomenų tipai naudojami skaitinėms reikšmėms saugoti. Skaitmeniniai duomenų tipai yra suskirstyti į keletą subkategorijų, pvz., po kablelio, sveikųjų skaičių ir slankiojo kablelio skaičių:





  • Sveikieji skaičiai: Šie duomenų tipai naudojami sveikiesiems skaičiams saugoti, o sveikųjų skaičių subkategorijos apima sbaitus, baitus, trumpus, ushort, int, uint, long ir ulong. Kiekvieno sveikojo skaičiaus duomenų formato reikšmių diapazonas skiriasi.
  • Slankaus kablelio skaičiai: Šie duomenų tipai naudojami dešimtainiams skaičiams saugoti, o slankiojo kablelio skaičių subkategorijos apima slankiuosius ir dvigubus. „Float“ gali išsaugoti iki 7 dešimtainių skaitmenų, o „double“ – iki 15 dešimtainių skaitmenų.
  • po kablelio: Šie duomenų tipai naudojami labai tiksliems sveikiesiems dešimtainiams skaičiams saugoti. Dešimtainė gali išsaugoti iki 28 dešimtainių skaitmenų.

Būlio duomenų tipas

Būlio reikšmės, kurios gali būti tik tikros arba klaidingos, yra saugomos šios formos duomenyse.



Simbolių duomenų tipas

Naudojant šį duomenų tipą išsaugomi pavieniai simboliai.

Pavyzdys

Šis pavyzdinis kodas parodo, kaip naudoti vertės duomenų tipą C#:

naudojant sistemą;

vardų erdvė ValueDataTypesExample
{
klasės programa
{
statinė tuštuma Pagrindinis ( styga [ ] args )
{
int myInt = 5 ;
float myFloat = 3,14f;
double myDouble = 3.14159265359 ;
bool myBool = tiesa ;
char myChar = 'a' ;

Console.WriteLine ( 'Mano sveikasis skaičius yra: ' + myInt ) ;
Console.WriteLine ( „Mano plūduriuojanti vertė yra: + myFloat ) ;
Console.WriteLine ( „Mano dviguba vertė yra: + myDouble ) ;
Console.WriteLine ( „Mano loginė vertė yra: + myBool ) ;
Console.WriteLine ( „Mano charakterio reikšmė yra: + myChar ) ;
}
}
}

Šiame pavyzdyje mes deklaravome ir inicijavome skirtingų reikšmių duomenų tipų kintamuosius, tokius kaip int, float, double, bool ir char. Tada mes išspausdinome šių kintamųjų reikšmes naudodami Console.WriteLine metodą, šios programos išvestis bus tokia:

2: Nuorodų duomenų tipai

Nuorodų duomenų tipai yra tie, kuriuose saugoma nuoroda į atminties vietą, kurioje saugoma reikšmė. Jie yra paskirstyti krūvoje ir paprastai naudojami didesniems duomenų kiekiams saugoti. Toliau pateikiamos nuorodų duomenų tipų subkategorijos:

Klasė

C# kalboje klasė yra nuorodos tipas, apibrėžiantis objektų kūrimo planą.

Styga

Šis nuorodos duomenų tipas naudojamas tekstiniams duomenims saugoti, eilutė yra nuorodos tipas, tačiau ji daugeliu atžvilgių elgiasi kaip vertės tipas.

Masyvas

Naudojant šį duomenų tipą gali būti saugomas to paties tipo reikšmių rinkinys. Masyvai yra nuorodų tipai, tačiau tam tikrais atvejais jie taip pat gali veikti kaip verčių tipai.

Sąsaja

Sąsaja apibrėžia metodų, savybių, įvykių ir indeksatorių rinkinį, nepateikdama jokios įgyvendinimo informacijos.

Deleguoti

Įgaliotasis leidžia perduoti metodą kaip argumentą kitam metodui ir vėliau iškviesti tą metodą per įgaliotąjį.

Pavyzdys

Štai keletas C# kodo pavyzdžių, kurie parodo, kaip naudoti referencinių duomenų tipai :

naudojant sistemą;

klasės Asmuo
{
vieša eilutė Vardas;
viešasis int Amžius;
}

klasės programa
{
statinė tuštuma Pagrindinis ( styga [ ] args )
{
Asmuo asmuo1 = naujas asmuo ( ) ;
asmuo1.Vardas = 'PATS' ;
asmuo1.Amžius = dvidešimt ;

Asmuo asmuo2 = asmuo1;
asmuo2.Amžius = 30 ;

Console.WriteLine ( asmuo1.Vardas + 'yra' + asmuo1.Amžius + ' metų.' ) ;
Console.WriteLine ( asmuo2.Vardas + 'yra' + asmuo2.Amžius + ' metų.' ) ;
}
}

Šiame pavyzdyje Asmens klasė turi du viešuosius laukus: Vardas, kurio tipas yra eilutė, ir Amžius, kurio tipas yra int. Tada sukuriame naują Asmens klasės egzempliorių ir priskiriame jį asmeniui1 pagrindiniu metodu. Mes keičiame asmens1 vardą ir amžių atributus.

Tada sukuriame kitą nuorodos kintamąjį asmuo2 ir priskiriame jam asmens1 reikšmę. Tada asmens2 ypatybę Amžius pakeičiame į 30.

Galiausiai išspausdiname asmens1 ir asmens2 vardą ir amžių. Atkreipkite dėmesį, kad keičiant vertę asmuo2.Amžius taip pat keičia vertę asmuo1.Amžius , nes abu kintamieji nurodo tą patį objektas atmintyje.

3: Rodyklės duomenų tipai

Rodyklės duomenų tipai naudojami kito kintamojo atminties adresui saugoti. Jie naudojami žemo lygio programavimui, pavyzdžiui, sistemos lygio programavimui ar įrenginio tvarkyklių kūrimui . C#, rodyklės duomenų tipai nenaudojami tiesiogiai , tačiau jie gali būti naudojami nesaugiuose kodų blokuose. Toliau pateikiama žymeklio duomenų tipų subkategorija:

Rodyklės duomenų tipas

Šis duomenų tipas naudojamas kito kintamojo atminties adresui saugoti.

Štai pavyzdys, rodantis naudojimą rodyklės duomenų tipai C#, nors tai reikalauja daug priežiūros:

naudojant sistemą;

klasės programa {
statinė nesaugi tuštuma Pagrindinis ( ) {
int skaičius = 10 ;
tarpt * p = & ant vieno;
Console.WriteLine ( $ „Skaičiaus vertė: {num}“ ) ;
Console.WriteLine ( $ „Skaičiaus adresas: {(long)p:X}“ ) ;
Console.WriteLine ( $ „Skaičiaus reikšmė naudojant žymeklį: {*p}“ ) ;
Console.ReadLine ( ) ;
}
}

Šiame pavyzdyje mes naudojame nesaugų raktinį žodį, kad leistų naudoti rodykles. Mes deklaruojame int tipo kintamąjį ir suteikiame jam reikšmę 10. Tada sukuriame int* tipo rodyklės kintamojo rodyklę ir priskiriame jam reikšmės atminties adresą naudodami & operatorių.

Be to, tada pasiekiame vertę, saugomą vertėje, panaikindami žymeklio nuorodą naudodami operatorių *, taip pat galime keisti vertę naudodami tą patį operatorių:

Pastaba: Norint išvengti atminties valdymo problemų, naudojant nuorodas C# reikia šiek tiek daugiau dėmesio ir dėmesio, todėl jas reikia naudoti tik tada, kai reikia ir atsargiai.

Išvada

C# yra daug skirtingų duomenų tipų, kuriuos galima naudoti įvairioms užduotims atlikti. Mažesni duomenų kiekiai saugomi naudojant reikšmių duomenų tipus, o didesni kiekiai – naudojant referencinių duomenų tipus. Rodyklės duomenų tipai naudojami žemo lygio programavimui ir C# paprastai nenaudojami.