U C#-u može se dodijeliti vrijednost jedne vrste podataka u drugu vrstu podataka.
Postoje dva načina pretvaranja podataka u C#: implicitni i eksplicitni.
Implicitno pretvaranje podataka je pretvaranje manjeg tipa podatka u veći tip podatka.
Implicitno pretvaranje se dešava automatski kada dodijeljujemo manji tip podatka većem.
char → int → long → float → double
int mojInt = 9;
double mojDouble = mojInt; //automatsko pretvaranje: int u double
Console.WriteLine(mojInt); //ispisuje: "9"
Console.WriteLine(mojDouble); //ispisuje: "9"
Eksplicitno pretvaranje podataka je pretvaranje većeg tipa podatka u manji tip podatka.
Eksplicitno pretvaranje se mora ručno pozvati pisanjem vrste podatka u zagradama prije podatka.
double → float → long → int → char
int mojDouble = 9.734;
double mojInt = (int) mojDouble; //ručno pretvaranje: double u int
Console.WriteLine(mojDouble); //ispisuje: "9.734"
Console.WriteLine(mojInt); //ispisuje: "9"
Također je moguće eksplicitno pretvoriti tipove podataka korištenjem ugrađenih metoda, kao što su: Convert.ToBoolean, Convert.ToDouble, Convert.ToString, Convert.ToInt32 (int) i Convert.ToInt64 (long)
int mojInt = 10;
double mojDouble = 5.25;
bool mojBool = true;
Convert.ToString(mojInt); //pretvaranje: int u string
Convert.ToDouble(mojInt); //pretvaranje: int u double
Convert.ToInt32(mojDouble); //pretvaranje: double u int
Convert.ToString(mojBool); //pretvaranje: bool u string