Datatyper i C#: Double, Heltal, Float, Char
โก Smart opsummering
Datatyper i C# definerer den type vรฆrdier, en variabel kan indeholde, lige fra heltal og flydende tal til booleske vรฆrdier og strengvรฆrdier, og de bestemmer, hvor meget hukommelse hver variabel reserverer under programudfรธrelse.

Hvad er datatyper i C#?
C#-sproget leveres med et sรฆt grundlรฆggende datatyper. Disse datatyper bruges til at bygge vรฆrdier, som bruges i en applikation. Lad os udforske de grundlรฆggende datatyper, der er tilgรฆngelige i C#. For hvert eksempel vil vi kun รฆndre hovedfunktionen i vores Program.cs-fil.
1) Heltal
Et heltal datatyper bruges til at arbejde med tal. I dette tilfรฆlde er tallene hele tal som 10, 20 eller 30. I C# er datatypen angivet med Int32 nรธgleord. Nedenfor er et eksempel pรฅ, hvordan denne datatype kan bruges. I vores eksempel vil vi definere en Int32-variabel kaldet num. Vi vil derefter tildele en heltalsvรฆrdi til variablen og derefter vise den i overensstemmelse hermed.
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 Forklaring:-
- Int32-datatypen er specificeret til at erklรฆre en heltalsvariabel kaldet num. Variablen tildeles derefter en vรฆrdi pรฅ 30.
- Endelig bruges console.write-funktionen til at vise nummeret til konsollen.
Hvis ovenstรฅende kode er indtastet korrekt, og programmet udfรธres korrekt, vil fรธlgende output blive vist.
Output:
Fra outputtet kan du tydeligt se, at Integer-variablen kaldet num blev vist i konsollen
2) Double
En dobbelt datatype bruges til at arbejde med decimaler. I dette tilfรฆlde er tallene hele tal som 10.11, 20.22 eller 30.33. I C# er datatypen angivet med sรธgeordet "Doubleโ. Nedenfor er et eksempel pรฅ denne datatype.
I vores eksempel vil vi definere en dobbelt variabel kaldet num. Vi vil derefter tildele en Double vรฆrdi til variablen og derefter vise den i overensstemmelse hermed.
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 Forklaring:-
- Den dobbelte datatype er specificeret til at erklรฆre en dobbelttype variabel kaldet num. Variablen tildeles derefter en vรฆrdi pรฅ 30.33.
- Endelig bruges console.write-funktionen til at vise nummeret til konsollen.
Hvis ovenstรฅende kode er indtastet korrekt, og programmet udfรธres korrekt, vil fรธlgende output blive vist.
Output:
Fra outputtet kan du tydeligt se, at den dobbelte variabel kaldet num blev vist i konsollen
3) Boolean
En boolsk datatype bruges til at arbejde med boolske vรฆrdier af sandt og falsk. I C# er datatypen angivet med det boolske nรธgleord. Nedenfor er et eksempel pรฅ, at denne datatype kan bruges.
I vores eksempel vil vi definere en boolsk variabel kaldet 'status'. Vi tildeler derefter en boolesk vรฆrdi til variablen og viser den derefter.
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 Forklaring:-
- Den boolske datatype er specificeret til at erklรฆre en boolsk variabel kaldet 'status'. Variablen tildeles derefter vรฆrdien sand/falsk.
- Endelig bruges console.write-funktionen til at vise den boolske vรฆrdi til konsollen.
Hvis ovenstรฅende kode er indtastet korrekt, og programmet afvikles korrekt, vil outputtet blive vist.
Output:
Fra outputtet kan du tydeligt se, at den boolske variabel, der er lig med sand, blev vist i konsollen
4) Snor
En strengdatatype bruges til at arbejde med strengvรฆrdier. I C# er datatypen angivet med sรธgeordet 'String'. Nedenfor er et eksempel pรฅ denne datatype.
I vores eksempel vil vi definere en strengvariabel kaldet 'besked'. Vi tildeler derefter en strengvรฆrdi til variablen og viser den derefter.
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 Forklaring:-
- Strengdatatypen er specificeret til at erklรฆre en strengvariabel kaldet besked. Variablen tildeles derefter vรฆrdien "Hej".
- Endelig bruges console.write-funktionen til at vise strengvรฆrdien til konsollen.
Hvis ovenstรฅende kode er indtastet korrekt, og programmet afvikles korrekt, vil outputtet blive vist.
Output:
Fra outputtet kan du tydeligt se, at String-variablen kaldet besked blev vist i konsollen
Komplet liste over C#-datatyper
De fire eksempler ovenfor dรฆkker de mest almindelige typer, men C# tilbyder et komplet sรฆt af indbyggede vรฆrdidatatyper. Hver type reserverer en fast mรฆngde hukommelse og accepterer et specifikt vรฆrdiinterval, sรฅ valget af den mindste type, der sikkert passer til dine data, holder et program effektivt.
| Datatype | Stรธrrelse | Rรฆkkevidde / Description |
|---|---|---|
| byte | 1 byte | 0 til 255 |
| kort | 2 bytes | -32,768 til 32,767 |
| int (Int32) | 4 bytes | -2,147,483,648 til 2,147,483,647 |
| lang | 8 bytes | Meget store hele tal (ยฑ9.2 quintillioner) |
| flyde | 4 bytes | Decimaltal med en prรฆcision pรฅ cirka 6-7 cifre |
| fordoble | 8 bytes | Decimaltal med en prรฆcision pรฅ cirka 15-16 cifre |
| decimal | 16 bytes | Hรธjprรฆcisionsdecimaler (28-29 cifre) for penge |
| char | 2 bytes | Et enkelt Unicode-tegn |
| bool | 1 byte | sandt eller falsk |
Udover disse vรฆrdityper er strengtypen den mest anvendte referencetype og gemmer en sekvens af tegn af enhver lรฆngde. Valg af en passende type forhindrer overlรธbsfejl og unรธdvendig hukommelsesbrug.
Vรฆrdityper vs. referencetyper i C#
Alle C#-datatyper falder i en af โโto grupper: vรฆrdityper og referencetyper. Denne sondring styrer, hvordan C# gemmer dataene, og hvordan en variabel opfรธrer sig, nรฅr du kopierer den eller sender den til en metode.
- Vรฆrdityper: Disse gemmer de faktiske data direkte, normalt pรฅ stakken. int, double, bool, char, enum, og struct er vรฆrdityper. Nรฅr man tildeler รฉn variabel til en anden, kopieres vรฆrdien, sรฅ de to variabler forbliver uafhรฆngige.
- Referencetyper: Disse gemmer en reference (en hukommelsesadresse), der peger pรฅ data pรฅ heapen. string-, object-, array- og klasseinstanser er referencetyper. Kopiering af en referencevariabel kopierer kun adressen, sรฅ begge variabler deler det samme objekt.
En variabel af vรฆrditypen kan aldrig vรฆre null, fordi den altid indeholder en vรฆrdi, hvorimod en ikke-initialiseret referencetype som standard har en vรฆrdi pรฅ null. Forstรฅelse af denne forskel hjรฆlper dig med at forudsige, hvordan รฆndringer i data flyder gennem et program.
Typekonvertering i C#
C# har ofte brug for at flytte en vรฆrdi fra รฉn datatype til en anden, f.eks. ved at omdanne brugerinput, som altid er tekst, til et tal. Denne proces kaldes typekonvertering, og det sker pรฅ tre hovedmรฅder.
- Implicit konvertering: Compileren konverterer automatisk, nรฅr der ikke er risiko for datatab, f.eks. nรฅr der tildeles et heltal til en double. Der krรฆves ingen sรฆrlig syntaks.
- Eksplicit konvertering (casting): Du placerer mรฅltypen i parenteser, for eksempel (int)myDoubleCasting kan miste data โ konvertering af en double til et intall mister decimaldelen โ sรฅ du accepterer risikoen bevidst.
- Hjรฆlpemetoder: Convert-klassen (Convert.ToInt32) og hver types Parse-metode (int.Parse) omdanner strenge til tal, mens ToString omdanner vรฆrdier tilbage til lรฆsbar tekst.
Valg af den korrekte konvertering holder dataene nรธjagtige og forhindrer kรธrselsfejl, nรฅr typerne pรฅ hver side af en tildeling ikke stemmer overens.








