Andmetüübid C#-s: Double, täisarv, ujuk, tähemärk
⚡ Nutikas kokkuvõte
C# andmetüübid defineerivad, milliseid väärtusi muutuja saab hoida, alates täisarvudest ja ujukomaarvudest kuni Boole'i ja stringväärtusteni, ning need määravad, kui palju mälu iga muutuja programmi täitmise ajal reserveerib.
Mis on andmetüübid C#-s?
C# keelega on kaasas põhiandmetüüpide komplekt. Neid andmetüüpe kasutatakse rakenduses kasutatavate väärtuste koostamiseks. Uurime C#-s saadaolevaid põhiandmetüüpe. Iga näite puhul muudame faili Program.cs põhifunktsiooni.
1) Täisarv
Numbritega töötamiseks kasutatakse täisarvulisi andmetüüpe. Sel juhul on arvud täisarvud, näiteks 10, 20 või 30. C#-s tähistatakse andmetüüpi Int32 märksõna. Allpool on näide selle andmetüübi kasutamisest. Meie näites määratleme Int32 muutuja nimega num. Seejärel omistame muutujale täisarvu väärtuse ja kuvame selle vastavalt.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 num=30; Console.Write(num); Console.ReadKey(); } } }
Code Selgitus:-
- Andmetüüp Int32 on määratud täisarvulise muutuja numbri deklareerimiseks. Seejärel määratakse muutujale väärtus 30.
- Lõpuks kasutatakse konsooli numbri kuvamiseks funktsiooni console.write.
Kui ülaltoodud kood on õigesti sisestatud ja programm on edukalt käivitatud, kuvatakse järgmine väljund.
Väljund:
Väljundist on selgelt näha, et konsoolis kuvati täisarvuline muutuja num
2) Double
Kümnendkohtadega töötamiseks kasutatakse topeltandmetüüpi. Sel juhul on numbrid täisarvud, näiteks 10.11, 20.22 või 30.33. C#-s tähistatakse andmetüüpi märksõnaga "Double“. Allpool on selle andmetüübi näide.
Meie näites määratleme topeltmuutuja nimega num. Seejärel määrame a Double väärtus muutujale ja seejärel kuvada see vastavalt.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { double num=30.33; Console.Write(num); Console.ReadKey(); } } }
Code Selgitus:-
- Topeltandmetüüp on määratud topelttüübi deklareerimiseks muutuja kutsus nr. Seejärel omistatakse muutujale väärtus 30.33.
- Lõpuks kasutatakse konsooli numbri kuvamiseks funktsiooni console.write.
Kui ülaltoodud kood on õigesti sisestatud ja programm on edukalt käivitatud, kuvatakse järgmine väljund.
Väljund:
Väljundist on selgelt näha, et konsoolis kuvati topeltmuutujat num
3) Boolean
Tõeväärtuste väärtustega töötamiseks kasutatakse tõeväärtuse andmetüüpi tõene ja vale. C#-s tähistatakse andmetüüpi Boole'i märksõnaga. Allpool on näide selle andmetüübi kohta, mida saab kasutada.
Meie näites määratleme Boole'i muutuja nimega "status". Seejärel omistame muutujale tõeväärtuse ja kuvame selle vastavalt.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Boolean status=true; Console.Write(status); Console.ReadKey(); } } }
Code Selgitus:-
- Tõeväärtuse andmetüüp on määratud Boole'i muutuja nimega "status" deklareerimiseks. Seejärel omistatakse muutujale väärtus tõene/väär.
- Lõpuks kasutatakse konsooli Boole'i väärtuse kuvamiseks funktsiooni console.write.
Kui ülaltoodud kood on õigesti sisestatud ja programm on edukalt käivitatud, kuvatakse väljund.
Väljund:
Väljundist on selgelt näha, et konsoolis kuvati Boole'i muutuja, mis võrdub tõega
4) String
Stringi väärtustega töötamiseks kasutatakse andmetüüpi String. C#-s tähistatakse andmetüüpi märksõnaga "String". Allpool on selle andmetüübi näide.
Meie näites määratleme String muutuja nimega 'message'. Seejärel omistame muutujale stringi väärtuse ja kuvame selle vastavalt.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class program { static void Main(string[] args) { String message="Hello"; Console.Write(message); Console.ReadKey(); } } }
Code Selgitus:-
- Andmetüüp String on määratud selleks, et deklareerida stringimuutuja nimega sõnum. Seejärel omistatakse muutujale väärtus "Tere".
- Lõpuks kasutatakse konsooli stringiväärtuse kuvamiseks funktsiooni console.write.
Kui ülaltoodud kood on õigesti sisestatud ja programm on edukalt käivitatud, kuvatakse väljund.
Väljund:
Väljundist on selgelt näha, et konsoolis kuvati muutuja String nimega teade
C# andmetüüpide täielik loend
Ülaltoodud neli näidet hõlmavad kõige levinumaid tüüpe, kuid C# pakub täielikku komplekti sisseehitatud väärtusandmetüüpe. Iga tüüp reserveerib kindla hulga mälu ja aktsepteerib kindlat väärtuste vahemikku, seega hoiab programmi tõhusana väikseima tüübi valimine, mis teie andmetele ohutult sobib.
| Andmetüüp | Mõõt | Vahemik / Descriptioon |
|---|---|---|
| bait | 1 bait | 0 et 255 |
| lühike | 2 baiti | -32,768 et 32,767 |
| int (Int32) | 4 baiti | -2,147,483,648 et 2,147,483,647 |
| pikk | 8 baiti | Väga suured täisarvud (±9.2 kvintiljonit) |
| ujuk | 4 baiti | Kümnendmurrud umbes 6–7-kohalise täpsusega |
| kahekordistada | 8 baiti | Kümnendmurrud umbes 15–16-kohalise täpsusega |
| Kümnendkoht | 16 baiti | Ülitäpsed kümnendmurrud (28–29 numbrit) raha jaoks |
| sõjavanker | 2 baiti | Üks Unicode'i märk |
| loll | 1 bait | tõene või vale |
Lisaks neile väärtustüüpidele on stringitüüp kõige laialdasemalt kasutatav viitetüüp ja see salvestab mis tahes pikkusega tähemärkide jada. Sobiva tüübi valimine hoiab ära ületäitumise vead ja tarbetu mälukasutuse.
Väärtuse tüübid vs viite tüübid C#-s
Iga C# andmetüüp jaguneb kahte rühma: väärtustüübid ja viitetüübid. See erinevus määrab, kuidas C# andmeid salvestab ja kuidas muutuja käitub, kui seda kopeerite või meetodile edastate.
- Väärtuse tüübid: Need salvestavad tegelikud andmed otse, tavaliselt pinumällu. int, double, bool, char, loend, ja struct on väärtustüübid. Ühe muutuja määramine teisele kopeerib väärtuse, seega jäävad kaks muutujat sõltumatuks.
- Viidete tüübid: Need salvestavad viite (mäluaadressi), mis osutab heapil olevatele andmetele. String, objekt, massiivid ja klassi eksemplarid on viitetüübid. Viitemuutuja kopeerimine kopeerib ainult aadressi, seega jagavad mõlemad muutujad sama objekti.
Väärtustüübi muutuja ei saa kunagi olla null, kuna see sisaldab alati väärtust, samas kui initsialiseerimata viitetüübi vaikeväärtus on null. Selle erinevuse mõistmine aitab ennustada, kuidas andmete muutused programmis liiguvad.
Tüübi teisendamine C#-s
C#-s on sageli vaja väärtust ühest andmetüübist teise teisaldada, näiteks kasutaja sisendi, mis on alati tekst, muutmine numbriks. Seda protsessi nimetatakse tüübi teisendamiseks ja see toimub kolmel peamisel viisil.
- Kaudne konversioon: Kompilaator teisendab automaatselt, kui andmete kadumise ohtu pole, näiteks kui topeltarvule määratakse täisarv (int). Spetsiaalset süntaksit pole vaja.
- Selgesõnaline konversioon (osatäitmine): Sihttüübi paned sulgudesse, näiteks (int)myDouble. Tüüpmuunduri (casting) kasutamine võib andmeid kaotada – topeltarvu (double) teisendamine täisarvuks (int) kaotab kümnendosa –, seega võtad riski teadlikult enda peale.
- Abistaja meetodid: Klass Convert (Convert.ToInt32) ja iga tüübi Parse meetod (int.Parse) muudavad stringid numbriteks, samas kui ToString muudab väärtused tagasi loetavaks tekstiks.
Õige teisenduse valimine hoiab andmed täpsed ja hoiab ära käitusaja vead, kui omistamise mõlemal poolel olevad tüübid ei ühti.









