Typkonvertering
Implicit konvertering
En del datatyper kan lätt konverteras till andra utan att man behöver göra någon manuell konvertering. Det gäller framför allt när konverteringen inte innebär att man blir av med information eller precision.
Exempel:
int → long
int → string
int → float
float → double
Casting
När konverteringen innebär att man blir av med precision, t.ex. går från en float till en int och blir av med decimaler, så använder man ibland casting. Det betyder att man helt enkelt skriver vilken datatyp man vill konvertera till inom parenteser innan värdet som ska konverteras.
As
As fyller en liknande funktion som casting, men fungerar bara på datatyper som är av referenstyp (t.ex. klasser) och datatyper som kan bli null (t.ex. string). Detta är mest användbart när man använt polymorfi.
As går också lite snabbare än casting.
Is
Is kan användas för att se vilken datatyp ett värde är. Detta är mest användbart när man använt polymorfi.
Is kan också göra en samtidig As-operation.
Konvertera till int
int.Parse()
Många datatyper kan inte konverteras direkt till t.ex. en int. Metoden int.Parse tar emot nästan vad som helst – t.ex. en string – och försöker konvertera den till en int.
OBS: Parse kommer att orsaka ett runtime error ifall den string som anges inte kan konverteras till en int. Använd try-catch för att fånga upp felet eller använd TryParse istället för Parse.
int.TryParse()
För en enkel, säker konvertering kan man använda TryParse.
TryParse returnerar true om konverteringen lyckades, false om den inte lyckades. Resultatet lagras i variabeln som anges som "out"-variabel i den andra parametern (i exemplet, variabeln "resultat"). Om konverteringen misslyckas så blir resultatet 0.
Konvertera till float
float.Parse()
Tar emot ett värde, och konverterar det till en float – om det går. Resultatet av konverteringen returneras.
Om det inte går att konvertera värdet till en float, kommer Parse att ge ifrån sig ett runtime-felmeddelande.
float.TryParse()
För en enkel, säker konvertering kan man använda TryParse.
TryParse returnerar true om konverteringen lyckades, false om den inte lyckades. Resultatet lagras i variabeln som anges som "out"-variabel i den andra parametern (i exemplet, variabeln "resultat"). Om konverteringen misslyckas så blir resultatet 0.
Last updated