A Convert számos To kezdetű függvénnyel rendelkezik. Mindegyik függvénynek számos verziója létezik, méghozzá szinte minden adattípusra. Ez biztosítja, hogy szinte mindent mindenre tudunk konvertálni a Convert osztály használatával.
Persze dátum típust ne próbáljunk konvertálni logikai típussá, hiszen ez nem értelmezhető művelet és amúgy is csak hibaüzenet lenne a végeredménye, még akkor is, ha létezik a Convert osztályban ToBoolean függvény, mely paraméterként DateTime-ot vár.
A Convert az alábbi To kezdetű függvényekkel rendelkezik:
- ToBase64String
- ToBoolean
- ToByte
- ToChar
- ToDateTime
- ToDecimal
- ToDouble
- ToInt16
- ToInt32
- ToInt64
- ToSByte
- ToSingle
- ToString
- ToUInt16
- ToUInt32
- ToUInt64
Ezek mindegyike egy paramétert vár: a konvertálandó értéket a függvény nevében megadott típusra. Minden függvénynek annyi típusa van, ahány To kezdetű függvény. Egy-egy ilyen függvénynek mindegyik típushoz van tehát egy-egy megfelelője, még akkor is, ha a konverzió nem értelmezhető, mint ahogy ezt a bevezetőben már említettük.
Dátum típust tehát nem tudunk logikaira konvertálni, de például egy egész számot igen. Ekkor ha a szám nem nulla, akkor igaz, különben hamis lesz az eredmény.
private void button1_Click(object sender, System.EventArgs e)
{
label1.Text = Convert.ToBoolean(55).ToString();
}
A Convert osztályban találunk még egy GetTypeCode függvényt, mellyel egy adott változó típusát tudjuk lekérdezni.
private void button2_Click(object sender, System.EventArgs e)
{
label2.Text = Convert.GetTypeCode(55).ToString();
}
A ChangeType használatával az első parméterben megadott objektum típusát tudjuk megváltoztatni a második paraméterben megadottra. Visszatérési értékként egy object-ben kapjuk meg az új objektumot a kért típusban.
private void button3_Click(object sender, System.EventArgs e)
{
int i = 55;
string s = (string)Convert.ChangeType(i, TypeCode.String);
label3.Text = s;
}