Gegevenstypen in C#: Double, geheel getal, zwevend, teken
⚡ Slimme samenvatting
In C# definiëren gegevenstypen welke soorten waarden een variabele kan bevatten, variërend van gehele getallen en drijvende-komma getallen tot Booleaanse waarden en tekenreeksen, en ze bepalen hoeveel geheugen elke variabele reserveert tijdens de uitvoering van het programma.
Wat zijn gegevenstypen in C#?
De C#-taal wordt geleverd met een reeks basisgegevenstypen. Deze gegevenstypen worden gebruikt om waarden op te bouwen die binnen een applicatie worden gebruikt. Laten we eens kijken naar de basisgegevenstypen die beschikbaar zijn in C#. Voor elk voorbeeld zullen we alleen de hoofdfunctie in ons Program.cs-bestand wijzigen.
1) geheel getal
Een Integer-gegevenstype wordt gebruikt om met getallen te werken. In dit geval zijn de getallen gehele getallen zoals 10, 20 of 30. In C# wordt het gegevenstype aangeduid met de Int32 trefwoord. Hieronder ziet u een voorbeeld van hoe dit datatype kan worden gebruikt. In ons voorbeeld definiëren we een Int32-variabele met de naam num. Vervolgens wijzen we een geheel getal-waarde toe aan de variabele en geven deze vervolgens dienovereenkomstig weer.
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 Uitleg:-
- Het gegevenstype Int32 is gespecificeerd om een Integer-variabele met de naam num te declareren. De variabele krijgt dan de waarde 30 toegewezen.
- Ten slotte wordt de functie console.write gebruikt om het nummer op de console weer te geven.
Als de bovenstaande code correct is ingevoerd en het programma succesvol is uitgevoerd, wordt de volgende uitvoer weergegeven.
Output:
Uit de uitvoer kunt u duidelijk zien dat de Integer-variabele met de naam num in de console werd weergegeven
2) Double
Een double datatype wordt gebruikt om met decimalen te werken. In dit geval zijn de getallen gehele getallen zoals 10.11, 20.22 of 30.33. In C# wordt het datatype aangeduid met het trefwoord "Double“. Hieronder ziet u een voorbeeld van dit gegevenstype.
In ons voorbeeld definiëren we een dubbele variabele genaamd num. Vervolgens wijzen we een Double waarde aan de variabele toevoegen en deze vervolgens dienovereenkomstig weergeven.
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 Uitleg:-
- Het gegevenstype double wordt opgegeven om een double-type te declareren variabele genaamd num. Aan de variabele wordt dan de waarde 30.33 toegekend.
- Ten slotte wordt de functie console.write gebruikt om het nummer op de console weer te geven.
Als de bovenstaande code correct is ingevoerd en het programma succesvol is uitgevoerd, wordt de volgende uitvoer weergegeven.
Output:
Uit de uitvoer kunt u duidelijk zien dat de dubbele variabele met de naam num in de console werd weergegeven
3) Booleaanse waarde
Er wordt een Booleaans gegevenstype gebruikt om met Booleaanse waarden van te werken goed en fout. In C# wordt het datatype aangegeven met het Booleaanse sleutelwoord. Hieronder ziet u een voorbeeld van hoe dit datatype kan worden gebruikt.
In ons voorbeeld definiëren we een Booleaanse variabele met de naam 'status'. We zullen dan een Booleaanse waarde aan de variabele toewijzen en deze vervolgens dienovereenkomstig weergeven.
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 Uitleg:-
- Het Booleaanse gegevenstype wordt gespecificeerd om een Booleaanse variabele met de naam 'status' te declareren. Aan de variabele wordt vervolgens de waarde true/false toegewezen.
- Ten slotte wordt de functie console.write gebruikt om de Booleaanse waarde aan de console weer te geven.
Als de bovenstaande code correct is ingevoerd en het programma succesvol is uitgevoerd, wordt de uitvoer weergegeven.
Output:
Uit de uitvoer kunt u duidelijk zien dat de Booleaanse variabele die gelijk is aan true in de console werd weergegeven
4) Tekenreeks
Er wordt een String-gegevenstype gebruikt om met String-waarden te werken. In C# wordt het datatype aangegeven met het trefwoord 'String'. Hieronder ziet u een voorbeeld van dit gegevenstype.
In ons voorbeeld definiëren we een String-variabele met de naam 'message'. Vervolgens wijzen we een String-waarde toe aan de variabele en geven deze vervolgens dienovereenkomstig weer.
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 Uitleg:-
- Het gegevenstype String is opgegeven om een stringvariabele met de naam message te declareren. De variabele krijgt dan de waarde ‘Hallo’ toegewezen.
- Ten slotte wordt de functie console.write gebruikt om de tekenreekswaarde weer te geven aan de console.
Als de bovenstaande code correct is ingevoerd en het programma succesvol is uitgevoerd, wordt de uitvoer weergegeven.
Output:
Uit de uitvoer kunt u duidelijk zien dat de String-variabele met de naam message in de console werd weergegeven
Complete lijst van C#-datatypen
De vier bovenstaande voorbeelden behandelen de meest voorkomende typen, maar C# biedt een volledige set ingebouwde waardetypen. Elk type reserveert een vaste hoeveelheid geheugen en accepteert een specifiek bereik aan waarden. Door het kleinste type te kiezen dat veilig bij uw gegevens past, blijft een programma efficiënt.
| Data type | Grootte | Bereik / Description |
|---|---|---|
| byte | 1 bytes | 0 tot 255 |
| kort | 2 bytes | -32,768 naar 32,767 |
| int (Int32) | 4 bytes | -2,147,483,648 naar 2,147,483,647 |
| lang | 8 bytes | Zeer grote hele getallen (±9.2 quintiljoen) |
| drijven | 4 bytes | Decimalen met een nauwkeurigheid van ongeveer 6-7 cijfers |
| verdubbelen | 8 bytes | Decimalen met een nauwkeurigheid van ongeveer 15-16 cijfers |
| decimale | 16 bytes | Zeer nauwkeurige decimale getallen (28-29 cijfers) voor geld |
| verkolen | 2 bytes | Een enkel Unicode-teken |
| bool | 1 bytes | waar of niet waar |
Naast deze waardetypen is het stringtype het meest gebruikte referentietype en slaat het een reeks tekens van willekeurige lengte op. Het kiezen van een geschikt type voorkomt overloopfouten en onnodig geheugengebruik.
Waardetypen versus referentietypen in C#
Elk C#-datatype valt in een van de twee groepen: waardetypen en referentietypen. Dit onderscheid bepaalt hoe C# de gegevens opslaat en hoe een variabele zich gedraagt wanneer je deze kopieert of doorgeeft aan een methode.
- Waardetypen: Deze slaan de daadwerkelijke gegevens direct op, meestal op de stack. int, double, bool, char, opsomming, en struct zijn waardetypen. Het toewijzen van de waarde aan de ene variabele aan de andere kopieert de waarde, waardoor de twee variabelen onafhankelijk blijven.
- Referentietypen: Deze slaan een referentie (een geheugenadres) op die verwijst naar gegevens op de heap. Strings, objecten, arrays en klasse-instanties zijn referentietypen. Bij het kopiëren van een referentievariabele wordt alleen het adres gekopieerd, waardoor beide variabelen hetzelfde object delen.
Een variabele van een waardetype kan nooit null zijn, omdat deze altijd een waarde bevat, terwijl een niet-geïnitialiseerd referentietype standaard null is. Inzicht in dit verschil helpt je te voorspellen hoe wijzigingen in gegevens door een programma stromen.
Typeconversie in C#
In C# is het vaak nodig om een waarde van het ene gegevenstype naar het andere om te zetten, bijvoorbeeld om gebruikersinvoer, die altijd tekst is, om te zetten in een getal. Dit proces wordt typeconversie genoemd en vindt op drie belangrijke manieren plaats.
- Impliciete conversie: De compiler converteert automatisch wanneer er geen risico is op gegevensverlies, zoals bij het toewijzen van een int aan een double. Er is geen speciale syntaxis vereist.
- Expliciete conversie (typeconversie): Je plaatst het doeltype tussen haakjes, bijvoorbeeld (int)myDoubleBij het casten kan er data verloren gaan — het converteren van een double naar een int laat het decimale deel weg — dus je accepteert dat risico bewust.
- Hulpmethoden: De Convert-klasse (Convert.ToInt32) en de Parse-methode (int.Parse) van elk type zetten tekenreeksen om in getallen, terwijl ToString waarden weer omzet in leesbare tekst.
Door de juiste conversie te kiezen, blijven de gegevens accuraat en worden runtimefouten voorkomen wanneer de gegevenstypen aan beide zijden van een toewijzing niet overeenkomen.









