Heltal-Datatyper
Nøgleordet int henviser til datatypen "integer", som grundlæggende repræsenterer heltal.
I det forrige afsnit lærte vi følgende syntaks til at erklære en variabel:
var variableName = value;
Ud over ovenstående syntaks findes der en anden metode til variabeldeklaration:
Her henviser type til variablens datatype. Indtil videre kender vi kun int. Vi kan erklære en variabel af heltalsdatatypen på følgende måde:
int myVariable = 10;
I dette tilfælde kan vi også erklære en variabel uden at give den en initial værdi:
int myVariable;
Bemærk
At give en variabel en startværdi ved deklaration kaldes initialisering.
Nøgleordet var gør det muligt for compileren automatisk at udlede datatypen for en variabel baseret på den tildelte værdi. For eksempel, i var myVariable = 7;, tildeles variablen myVariable en heltalsværdi, hvilket gør dens datatype til int. En sådan variabel kaldes en implicit-typet variabel.
Bemærk
Når man bruger nøgleordet
var, skal variablen altid også initialiseres, derfor er det ugyldigt at skrivevar myVariable;.
Omvendt kræver manuel angivelse af datatypen ikke en startværdi. Derfor er både int myVariable; og int myVariable = 10; gyldige udsagn. I dette tilfælde er myVariable en eksplicit-typet variabel.
Følgende kode opsummerer de to ovenstående afsnit:
main.cs
12345var myVar1 = 10; // Valid var myVar2; // Error: Implicitly-typed variables must be initialized int myVar3 = 10; // Valid int myVar4; // Valid
Det er vigtigt at bemærke, at vi ikke kan bruge en variabel, der ikke har fået tildelt nogen værdi. Derfor vil følgende kode give en FEJL:
main.cs
12int myVar; System.Console.WriteLine(myVar); // Error: Use of unassigned local variable 'myVar'
Korrigering:
main.cs
123int myVar; myVar = 10; System.Console.WriteLine(myVar); // Output: 10
Vi kan tildele en variabel en ny værdi så mange gange, vi ønsker:
main.cs
12345678int myVar = 10; System.Console.WriteLine(myVar); // Output: 10 myVar = 15; System.Console.WriteLine(myVar); // Output: 15 myVar = 17; System.Console.WriteLine(myVar); // Output: 17 myVar = 7; System.Console.WriteLine(myVar); // Output: 7
En int-variabel kan kun gemme værdier inden for et bestemt interval. Der findes en anden datatypen, long, som ligner int, men kan gemme større tal.
Hvis man forsøger at gemme et større tal, end datatypen kan håndtere, kan det give uventede resultater.
Det er muligt at udføre aritmetiske operationer på int- og long-data. Følgende kodeeksempel viser nogle eksempler:
main.cs
1234567891011121314151617181920// int values int a = 10; int b = 25; int c = a + b; // long values long d = 1000; long e = 2500; long f = d + e; // Adding a 'long' and an 'int' always results in a 'long' resultant value. // Therefore we can store the result of 'd + a' into a new 'long' variable called 'g'. long g = d + a; // For the same reason, we cannot store the result of 'd + a' into an 'int' variable int h = d + a; // Error on this line int i = 5 / 2; System.Console.WriteLine(i); // Output: 2 // Dividing 5 by 2 gives 2.5 however since 'int' can only store integer values, hence the decimal (0.5) part is ignored.
Der findes to andre datatyper, uint og ulong, kaldet henholdsvis unsigned int og unsigned long. En unsigned datatype kan kun indeholde positive tal, hvilket giver dem et større positivt interval.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
What are some examples of arithmetic operations with int and long?
Can you explain the difference between signed and unsigned data types?
When should I use int, long, uint, or ulong in my code?
Awesome!
Completion rate improved to 1.59
Heltal-Datatyper
Stryg for at vise menuen
Nøgleordet int henviser til datatypen "integer", som grundlæggende repræsenterer heltal.
I det forrige afsnit lærte vi følgende syntaks til at erklære en variabel:
var variableName = value;
Ud over ovenstående syntaks findes der en anden metode til variabeldeklaration:
Her henviser type til variablens datatype. Indtil videre kender vi kun int. Vi kan erklære en variabel af heltalsdatatypen på følgende måde:
int myVariable = 10;
I dette tilfælde kan vi også erklære en variabel uden at give den en initial værdi:
int myVariable;
Bemærk
At give en variabel en startværdi ved deklaration kaldes initialisering.
Nøgleordet var gør det muligt for compileren automatisk at udlede datatypen for en variabel baseret på den tildelte værdi. For eksempel, i var myVariable = 7;, tildeles variablen myVariable en heltalsværdi, hvilket gør dens datatype til int. En sådan variabel kaldes en implicit-typet variabel.
Bemærk
Når man bruger nøgleordet
var, skal variablen altid også initialiseres, derfor er det ugyldigt at skrivevar myVariable;.
Omvendt kræver manuel angivelse af datatypen ikke en startværdi. Derfor er både int myVariable; og int myVariable = 10; gyldige udsagn. I dette tilfælde er myVariable en eksplicit-typet variabel.
Følgende kode opsummerer de to ovenstående afsnit:
main.cs
12345var myVar1 = 10; // Valid var myVar2; // Error: Implicitly-typed variables must be initialized int myVar3 = 10; // Valid int myVar4; // Valid
Det er vigtigt at bemærke, at vi ikke kan bruge en variabel, der ikke har fået tildelt nogen værdi. Derfor vil følgende kode give en FEJL:
main.cs
12int myVar; System.Console.WriteLine(myVar); // Error: Use of unassigned local variable 'myVar'
Korrigering:
main.cs
123int myVar; myVar = 10; System.Console.WriteLine(myVar); // Output: 10
Vi kan tildele en variabel en ny værdi så mange gange, vi ønsker:
main.cs
12345678int myVar = 10; System.Console.WriteLine(myVar); // Output: 10 myVar = 15; System.Console.WriteLine(myVar); // Output: 15 myVar = 17; System.Console.WriteLine(myVar); // Output: 17 myVar = 7; System.Console.WriteLine(myVar); // Output: 7
En int-variabel kan kun gemme værdier inden for et bestemt interval. Der findes en anden datatypen, long, som ligner int, men kan gemme større tal.
Hvis man forsøger at gemme et større tal, end datatypen kan håndtere, kan det give uventede resultater.
Det er muligt at udføre aritmetiske operationer på int- og long-data. Følgende kodeeksempel viser nogle eksempler:
main.cs
1234567891011121314151617181920// int values int a = 10; int b = 25; int c = a + b; // long values long d = 1000; long e = 2500; long f = d + e; // Adding a 'long' and an 'int' always results in a 'long' resultant value. // Therefore we can store the result of 'd + a' into a new 'long' variable called 'g'. long g = d + a; // For the same reason, we cannot store the result of 'd + a' into an 'int' variable int h = d + a; // Error on this line int i = 5 / 2; System.Console.WriteLine(i); // Output: 2 // Dividing 5 by 2 gives 2.5 however since 'int' can only store integer values, hence the decimal (0.5) part is ignored.
Der findes to andre datatyper, uint og ulong, kaldet henholdsvis unsigned int og unsigned long. En unsigned datatype kan kun indeholde positive tal, hvilket giver dem et større positivt interval.
Tak for dine kommentarer!