Werken met numerieke gegevenstypen
Tip
Zie het tabblad Tekst en afbeeldingen voor meer informatie.
Elke waarde in C# heeft een gegevenstype. Voor getallen biedt C# verschillende typen, afhankelijk van of u gehele getallen, decimalen of een breder bereik met waarden nodig hebt. Door het juiste type te kiezen, kunt u nauwkeurige berekeningen schrijven.
Algemene numerieke typen
| Typenaam | C#-trefwoord | Beschrijving | Example |
|---|---|---|---|
| Integer | int |
Gehele getallen (positief of negatief) |
42, -7, 1000 |
| Decimal | decimal |
Nauwkeurige decimale getallen, ideaal voor geld |
19.99m, 3.14m |
| Double | double |
Grotere decimale getallen, die gebruikelijk zijn voor berekeningen |
3.14, 2.71828 |
Opmerking
Wanneer u een letterlijke decimaal schrijft, wordt ervan uitgegaan dat het een standaardwaarde double is. Als u een decimal letterlijke tekst wilt maken, voegt u de letter m aan het einde toe: 19.99m.
Numerieke variabelen declareren
Net zoals u eerder hebt geleerd, declareert u een variabele door het type op te geven:
int score = 95;
decimal price = 19.99m;
double average = 87.5;
C# is sterk getypt
In tegenstelling tot andere talen is C# een sterk getypte taal. Dat betekent dat wanneer u een variabele als een bepaald type declareert, deze alleen dat type waarde kan bevatten:
int count = 10;
count = "ten"; // ERROR! Can't assign a string to an int
Dit lijkt misschien strikt, maar het helpt fouten vroegtijdig te ondervangen en uw code voorspelbaarder te maken.
Waarom het type belangrijk is
Het gegevenstype is van invloed op de manier waarop C# berekeningen uitvoert:
int a = 7;
int b = 2;
Console.WriteLine(a / b); // Output: 3 (integer division truncates)
decimal c = 7m;
decimal d = 2m;
Console.WriteLine(c / d); // Output: 3.5 (keeps the decimal)
Wanneer beide waarden gehele getallen zijn, voert C# deling van gehele getallen uit en wordt het decimaal gedeelte gedaald. Als u decimaal precisie wilt behouden, moet u een decimaal type gebruiken. U leert hoe u kunt converteren tussen typen in een latere sectie.