Datatypes
Een essentieel onderdeel van C# is kennis van datatypes. Een datatype is, zoals de naam het zegt, een soort waartoe bepaalde gegevens kunnen behoren. Wanneer je data wenst te bewaren in je applicatie dan zal je je moeten afvragen wat voor soort data het is. Gaat het om een getal, een geheel getal, een kommagetal, een stuk tekst of misschien een binaire reeks? Een variabele met een bepaald datatype kan een bepaald soort data bewaren en dit zal afhankelijk hiervan een bepaalde hoeveelheid computergeheugen vereisen.
Er zijn tal basistypes in C# gedeclareerd (zogenaamde built-in datatypes). Dit semester leren we werken met datatypes voor:
Gehele getallen:
sbyte, byte, short, ushort, int, uint, long
Kommagetallen:
double, float, decimal
Tekst:
char, string
Booleans:
bool
Het datatype string
heb je al in actie gezien in het vorig hoofdstuk. Je hebt toen al een variabele aangemaakt van het type string door de zin string result;
.
Verderop koppelden we de naam result
dan aan het resultaat van een actie, namelijk inlezen van tekst via Console.ReadLine
(eerst wordt dat resultaat uitgerekend, dan pas wordt het aan de naam gekoppeld):
Basistypen voor getallen
C# heeft een hoop datatypes gedefinieerd om te werken met getallen zoals wij ze kennen, gehele en kommagetallen. Intern zullen deze getallen steeds binair bewaard worden, maar dat merken we zelden tijdens het programmeren.
De basistypen van C# om getallen in op te slaan zijn:
Voor gehele getallen:
sbyte, byte, short, ushort, int, uint, long
Voor kommagetallen:
double, float, decimal
Deze datatypes hebben allemaal een bepaald bereik, wat een rechtstreeks gevolg is van de hoeveelheid geheugen die ze innemen.
Gehele getallen
Voor de gehele getallen:
Type | Geheugen | Bereik | Meer info |
| 8 bits | -128 tot 127 | |
| 8 bits | 0 tot 255 | |
| 16 bits | -32768 tot 32767 | |
| 16 bits | 0 tot 65535 | |
| 32 bits | -2 147 483 648 tot 2 147 483 647 | |
| 32 bits | 0 tot 4294967295 | |
| 64 bits | -9 223 372 036 854 775 808 tot 9 223 372 036 854 775 807 | |
| 64 bits | 0 tot 18 446 744 073 709 551 615 | |
| 16 bits | 0 tot 65535 |
Enkele opmerkingen bij deze tabel:
De
s
vooraansbyte
types staat voorsigned
: m.a.w. 1 bit wordt gebruikt om het + of - teken te bewaren.De
u
vooraanushort
,uint
enulong
staat voorunsigned
. Het omgekeerde van signed dus. Kwestie van het ingewikkeld te maken. Deze twee datatypes hebben dus geen teken en zijn altijd positief.char
heeft dezelfde kenmerken alsushort
, maar dient voor iets anders.ushort
gebruik je echt om getallen binnen dat bereik voor te stellen.char
bewaart karakters, d.w.z. symbolen zoals letters. Een beetje vereenvoudigd kan je stellen dat er een tabel is waarin elk symbool gekoppeld is aan een getal, zodat een reeks nulletjes en eentjes ook een letter kan voorstellen.
Kommagetallen
Voor de kommagetallen zijn er maar 3 mogelijkeden. Ieder datatype heeft een voordeel tegenover de 2 andere, dit voordeel staat vet in de tabel:
Type | Geheugen | Bereik | Precisie | |
| 32 bits | 6 to 9 digits | ||
| 64 bits | 15 to 17 digits | ||
| 128 bits | 28 to 29 digits |
Zoals je ziet moet je bij kommagetallen een afweging maken tussen 3 even belangrijke criteria. Heb je zeer grote precisie (veel cijfers na de komma) nodig, dan ga je voor een decimal
. Wil je vooral erg grote of erg kleine getallen (met meer kans op afrondingen), dan kies je voor double
.
Bij twijfel opteren we meestal voor kommagetallen om het double
datatype te gebruiken. Bij gehele getallen kiezen we meestal voor int
.
Boolean datatype
Het bool
(boolean) is het eenvoudigste datatype van C#. Het kan maar 2 mogelijke waarden bevatten: true
of false
. 1 of 0 met andere woorden. In het Nederlands meestal uitgedrukt als "waar" en "niet waar".
We zullen het bool
datatype erg veel nodig hebben wanneer we met beslissingen zullen werken, specifiek de if statements die afhankelijk van de uitslag van een bool
bepaalde code wel of niet zullen doen uitvoeren.
Tekst/String datatype
We besteden verderop een heel apart hoofdstuk aan tonen hoe je tekst en enkele karakters kan bewaren in variabelen. De basis:
Tekst kan bewaard worden in het
string
datatypeLetterlijke tekst schrijf je tussen dubbele quotes, bijvoorbeeld
"Hallo Wereld!"
Een enkel karakter wordt bewaard in het
char
datatype, dat we ook hierboven al even hebben zien passeren.Letterlijke karakter schrijf je tussen enkele quotes, bijvoorbeeld
'à'
Meer info vind je later in dit hoofdstuk.
Last updated