String zu Typ wandeln (Parse, TryParse)

Einfache Beispiele

// Beispiele für Parse
int i = int.Parse("-100");
uint ui = uint.Parse("100");
long l = long.Parse("100");
float f = float.Parse("100,1");
double d = double.Parse("-100,1");
bool b = bool.Parse("True");

// Beispiele für TryParse
bool bValue = true;
if (bool.TryParse("False", out bValue ))
{
    ...
}

double dValue;
if (double.TryParse("0,45", out dValue))
{
    ...
}

Komplexere Beispiele

Häufig kommt es vor, dass z.B. CSV-Dateien eingelesen werden müssen und der vorhandene Datenbestand Werte mit unterschiedlichsten Dezimaltrennzeichen aufweist. Daher ist es wichtig entsprechend dem Dezimaltrennzeichen eine passende Konvertierungsfunktion zu schreiben.

// kulturabhängig Fließkommazahlen einlesen:
// Fließkommazahlen entsprechend der Culture des Hostsystems einlesen:
if (double.TryParse("0,45", NumberStyles.Float, new CultureInfo(CultureInfo.CurrentCulture.Name, false), out dValue))
{
    ...
}

// kulturunabhängig Fließkommazahlen einlesen:
// wenn Fließkommazahlen, die mit "." anstelle von "," getrennt sind, auf einem deutschsprachigen Hostsystem eingelesen werden sollen:
if (double.TryParse("0.45", NumberStyles.Float, CultureInfo.InvariantCulture, out dValue))
{
    ...
}