Convert.ToInt32 () wird versuchen, alles - sei es char, double, object, was hast du - in ein Int32 umzuwandeln. Int32.Parse () funktioniert nur für Zeichenfolgen.
BEARBEITEN: Als Antwort auf den Kommentar von OP habe ich ein Zitat von aus diesem Thread :
Grundsätzlich macht es die Convert-Klasse einfacher zwischen allen Basen zu konvertieren Typen.
Die Convert.ToInt32 (String, IFormatProvider) darunter ruft den Int32.Parsen. Also der einzige Unterschied ist dass, wenn eine Null-Zeichenfolge übergeben wird Konvertieren gibt 0 zurück, während Int32.Parse wirft ein ArgumentNullException.
Es ist wirklich eine Frage der Wahl was auch immer Sie verwenden.
Erweiterung der Antwort von Matthew.
Convert.ToInt32 ermöglicht benutzerdefinierte Erweiterungen in erweiterbarer Form. Für jede nicht vordefinierte Konvertierung (hauptsächlich Primitive) überprüft die Convert-Klasse, ob der Typ IConventible implementiert und verwendet sie dann, um dem Objekt zu erlauben, seine eigene Konvertierung in Int32 (und viele andere Typen) zu definieren.
Convert.ToInt32
konvertiert null
in 0
; Int32.Parse
löst eine Exception aus, wenn Sie null
übergeben. Auch wie Matthew Jones sagte , Int32.Parse
funktioniert nur für Strings.
Weitere Informationen finden Sie in diesem Artikel .
>Laut MSDN wird Parse () für string to int verwendet, wobei Convert vielseitiger für Conversions ist.
Int32.Parse ()
Convert.Int32 () sollte Ihre Hauptwahl sein
Tags und Links .net