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

bookGrundlæggende Typekonvertering

Type casting er processen med at konvertere en værdi fra én datatyp til en anden. Dette er ofte muligt mellem typer, der repræsenterer tal. For eksempel kan du konvertere en float til en int og omvendt. Det giver dog ikke logisk mening at konvertere en string direkte til en int, og det er ikke muligt uden yderligere trin.

Der findes to typer type casting: implicit type casting og explicit type casting.

Implicit type casting sker automatisk, når en værdi konverteres fra én type til en anden, typisk fra en mindre til en større datatype.

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

Implicit type casting sker automatisk, når en mindre datatype konverteres til en større. Størrelsen på en datatype bestemmes af, hvor meget data den kan indeholde, målt i bits. For eksempel kan en int indeholde 32 bits, mens en long kan indeholde 64 bits, så konvertering fra int til long sker automatisk. Tilsvarende kan en float konverteres til en double uden problemer.

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

Explicit type casting er, når du som programmør instruerer computeren i at konvertere en værdi til en anden datatype. Dette er nødvendigt, når der konverteres fra en større datatype til en mindre, fordi noget data kan gå tabt. For eksempel vil konvertering af float-værdien 3.14 til et heltal resultere i 3, hvor decimaldelen går tabt. Derfor skal du eksplicit angive, at computeren skal foretage sådanne konverteringer.

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 at rette fejlen i ovenstående kode, skal vi eksplicit caste val1 til en heltalsværdi.

Syntaksen for en cast er (datatype) value, for eksempel (int) 3.1415. Så i dette tilfælde vil vi skrive (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 af nedenstående udsagn er korrekte?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 11

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookGrundlæggende Typekonvertering

Stryg for at vise menuen

Type casting er processen med at konvertere en værdi fra én datatyp til en anden. Dette er ofte muligt mellem typer, der repræsenterer tal. For eksempel kan du konvertere en float til en int og omvendt. Det giver dog ikke logisk mening at konvertere en string direkte til en int, og det er ikke muligt uden yderligere trin.

Der findes to typer type casting: implicit type casting og explicit type casting.

Implicit type casting sker automatisk, når en værdi konverteres fra én type til en anden, typisk fra en mindre til en større datatype.

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

Implicit type casting sker automatisk, når en mindre datatype konverteres til en større. Størrelsen på en datatype bestemmes af, hvor meget data den kan indeholde, målt i bits. For eksempel kan en int indeholde 32 bits, mens en long kan indeholde 64 bits, så konvertering fra int til long sker automatisk. Tilsvarende kan en float konverteres til en double uden problemer.

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

Explicit type casting er, når du som programmør instruerer computeren i at konvertere en værdi til en anden datatype. Dette er nødvendigt, når der konverteres fra en større datatype til en mindre, fordi noget data kan gå tabt. For eksempel vil konvertering af float-værdien 3.14 til et heltal resultere i 3, hvor decimaldelen går tabt. Derfor skal du eksplicit angive, at computeren skal foretage sådanne konverteringer.

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 at rette fejlen i ovenstående kode, skal vi eksplicit caste val1 til en heltalsværdi.

Syntaksen for en cast er (datatype) value, for eksempel (int) 3.1415. Så i dette tilfælde vil vi skrive (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 af nedenstående udsagn er korrekte?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 11
some-alt