Tyypinmuunnos

Jos kohdetyyppi voi esittää kaikki muunnettavan tyypin arvot (esim. reaaliluvut sisältävät kokonaisluvut), jolloin tietoa ei katoa, voi muunnokset tehdä yksinkertaisesti
int kokonaisluku = 123;
float reaaliluku = kokonaisluku;

Jos on mahdollista, että tietoa katoaa muunnoksen yhteydessä, kuten reaaliluvusta kokonaisluvuksi muutettaessa, täytyy käyttää operaattoria (). Tässä täytyy huomioida, ettei toimenpide pyöristä lukuja, vaan jättää yksinkertaisesti desimaaliosan pois.

 float reaaliluku = 32.7f;
int kokonaisluku = (int)reaaliluku;

Parse- ja TryParse-metodit

Tyyppien Parse- ja TryParse-metodeilla voi "parsia" arvon merkkijonosta. Näiden kahden ero on siinä, että Parse heittää virheen mikäli merkkijono ei ollut sopivassa muodossa. Kannattaa muistaa, että desimaalierottimena käytetään oletuksena järjestelmässä määriteltyä desimaalierotinta.

Parse

``` csharp string teksti1 = "123"; // toimii int luku = int.Parse(teksti1);

string teksti2 = "true"; bool tosi = bool.Parse(teksti2);

string teksti3 = "123.2"; // virhe luku = int.Parse(teksti3); // tämäkin heittää virheen, jos desimaalierottimena käytetään pilkkua float = float.Parse(teksti3);

<h4 id="tryparse">TryParse</h4>
``` csharp
string teksti = "123";
int luku;
if(int.TryParse(teksti, out luku))
{
	// parsiminen onnistui
}
else
{
	// parsiminen epäonnistui
}

Convert-luokan metodit

Convert-luokasta löytyy metodit ToXXX, joilla perustietotyyppejä voi muuttaa toiseksi
string arvo = "123,2";
float luku = Convert.ToSingle(arvo);
byte arvo2 = 123;
char merkki = Convert.ToChar(arvo2);

Lisäksi sieltä löytyy metodi ChangeType, jolla voi yrittää muuttaa minkä tahansa tyypin toiseksi.

string arvo = "123,2";
float luku = (float)Convert.ChangeType(arvo, typeof(float));

as-operaattori

As-operaattorilla voi yrittää muuttaa nullable-tyypin toiseksi. Jos tyypit eivät ole yhteensopivia, tulos on null.
object kissa = new Kissa();
Elain elain = kissa as Elain;
if(elain != null)
{
	// Kissa-luokka on yhteensopiva Elain-luokan kanssa
	elain.TeeJotainElaimellista();
}