Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grunnleggende Typekonvertering | Håndtering av Datatyper
C#-Grunnleggende

bookGrunnleggende Typekonvertering

Typekonvertering er prosessen med å endre en verdi fra én datatyp til en annen. Dette er ofte mulig mellom typer som representerer tall. For eksempel kan du konvertere en float til en int og omvendt. Derimot gir det ikke logisk mening å konvertere en string direkte til en int, og dette er ikke mulig uten ekstra steg.

Det finnes to typer typekonvertering: implisitt typekonvertering og eksplisitt typekonvertering.

Implisitt typekonvertering skjer automatisk når en verdi konverteres fra én type til en annen, vanligvis fra en mindre til en større datatyp.

main.cs

main.cs

copy
1234
int val1 = 10; long val2 = val1; // int is automatically converted to long float val3 = var1; // int is automatically converted to float double var4 = var1; // int is automatically converted to double

Implisitt typekonvertering skjer automatisk når en mindre datatyp konverteres til en større. Størrelsen på en datatyp bestemmes av hvor mye data den kan lagre, målt i bits. For eksempel kan en int lagre 32 bits, mens en long kan lagre 64 bits, så konvertering fra int til long skjer automatisk. På samme måte kan en float konverteres til en double uten problemer.

Her er en liste over datatyper ordnet fra minst til størst: char -> int -> long -> float -> double

Eksplisitt typekonvertering er når du som programmerer forteller datamaskinen at en verdi skal konverteres til en annen datatyp. Dette er nødvendig når du konverterer fra en større datatyp til en mindre, fordi noe data kan gå tapt. For eksempel vil konvertering av flyttallet 3.14 til et heltall gi 3, og desimaldelen går tapt. Derfor må du eksplisitt angi at slike konverteringer skal utføres.

main.cs

main.cs

copy
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = val1; // Error: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) Console.WriteLine(val1); Console.WriteLine(val2); } } }

For å rette feilen i koden ovenfor, må vi eksplisitt typekonvertere val1 til en heltallsverdi.

Syntaksen for en typekonvertering er (datatype) value, for eksempel (int) 3.1415. I dette tilfellet skriver vi derfor (int) val1:

main.cs

main.cs

copy
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = (int) val1; Console.WriteLine(val1); Console.WriteLine(val2); } } }
question mark

Hvilke av påstandene nedenfor er korrekte?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 11

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you give an example of implicit type casting in code?

What happens if I try to cast a string to an int?

Can you explain more about explicit type casting with examples?

Awesome!

Completion rate improved to 1.59

bookGrunnleggende Typekonvertering

Sveip for å vise menyen

Typekonvertering er prosessen med å endre en verdi fra én datatyp til en annen. Dette er ofte mulig mellom typer som representerer tall. For eksempel kan du konvertere en float til en int og omvendt. Derimot gir det ikke logisk mening å konvertere en string direkte til en int, og dette er ikke mulig uten ekstra steg.

Det finnes to typer typekonvertering: implisitt typekonvertering og eksplisitt typekonvertering.

Implisitt typekonvertering skjer automatisk når en verdi konverteres fra én type til en annen, vanligvis fra en mindre til en større datatyp.

main.cs

main.cs

copy
1234
int val1 = 10; long val2 = val1; // int is automatically converted to long float val3 = var1; // int is automatically converted to float double var4 = var1; // int is automatically converted to double

Implisitt typekonvertering skjer automatisk når en mindre datatyp konverteres til en større. Størrelsen på en datatyp bestemmes av hvor mye data den kan lagre, målt i bits. For eksempel kan en int lagre 32 bits, mens en long kan lagre 64 bits, så konvertering fra int til long skjer automatisk. På samme måte kan en float konverteres til en double uten problemer.

Her er en liste over datatyper ordnet fra minst til størst: char -> int -> long -> float -> double

Eksplisitt typekonvertering er når du som programmerer forteller datamaskinen at en verdi skal konverteres til en annen datatyp. Dette er nødvendig når du konverterer fra en større datatyp til en mindre, fordi noe data kan gå tapt. For eksempel vil konvertering av flyttallet 3.14 til et heltall gi 3, og desimaldelen går tapt. Derfor må du eksplisitt angi at slike konverteringer skal utføres.

main.cs

main.cs

copy
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = val1; // Error: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) Console.WriteLine(val1); Console.WriteLine(val2); } } }

For å rette feilen i koden ovenfor, må vi eksplisitt typekonvertere val1 til en heltallsverdi.

Syntaksen for en typekonvertering er (datatype) value, for eksempel (int) 3.1415. I dette tilfellet skriver vi derfor (int) val1:

main.cs

main.cs

copy
123456789101112131415
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = (int) val1; Console.WriteLine(val1); Console.WriteLine(val2); } } }
question mark

Hvilke av påstandene nedenfor er korrekte?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 11
some-alt