intID1 = Int32.Parse(myValue.ToString());
intID2 = Convert.ToInt32(myValue);
Welche ist besser und warum?
intID1 = Int32.Parse(myValue.ToString());
intID2 = Convert.ToInt32(myValue);
Welche ist besser und warum?
Wo finden Sie den Quellcode der Funktion ToInt32()? Ich habe MSDN gegoogelt und kann die Details nicht finden, wie Sie sie eingegeben haben :-)
Nun, Reflector sagt...
public static int ToInt32(string value)
{
if (value == null)
{
return 0;
}
return int.Parse(value, CultureInfo.CurrentCulture);
}
public static int Parse(string s)
{
return Number.ParseInt32(s, NumberStyles.Integer, NumberFormatInfo.CurrentInfo);
}
Sie sind also im Grunde genommen gleich, mit der Ausnahme, dass Convert.ToInt32()
führt eine zusätzliche Nullprüfung durch.
Es kommt darauf an, was Sie mit "besser" meinen, denn "besser" ist subjektiv.
Zum Beispiel die Lesbarkeit des Codes. Manche Leute ziehen es vor, in ihrem Code "Convert" zu sehen, andere ziehen es vor, "Parse" zu sehen.
Auch in Bezug auf die Geschwindigkeit sind beide ungefähr gleich nach diesen Maßstäben .
Oder wollen Sie immer einen Wert zurückerhalten? Wie bereits von anderen erwähnt, gibt ConvertTo bei Nullwerten eine 0 (Null) zurück, während Sie diese Option bei Parse nicht erhalten.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Mögliche Duplikate von .Net Parse versus Konvertieren