Die Convert.ToXXX()
Methoden sind für Objekte, die von der korrekten oder ähnlicher Art sein könnte, während .Parse()
und .TryParse()
speziell für Strings sind:
//o is actually a boxed int
object o = 12345;
//unboxes it
int castVal = (int) 12345;
//o is a boxed enum
object o = MyEnum.ValueA;
//this will get the underlying int of ValueA
int convVal = Convert.ToInt32(o);
//now we have a string
string s = "12345";
//this will throw an exception if s can't be parsed
int parseVal = int.Parse(s);
//alternatively:
int tryVal;
if(int.TryParse(s, out tryVal)) {
//do something with tryVal
}
Wenn Sie mit Optimierungsflags TryParse kompilieren ist sehr schnell - es ist die beste Möglichkeit, eine Nummer aus einer Zeichenfolge zu erhalten. Wenn Sie jedoch ein Objekt haben, das ein int oder eine Zeichenfolge sein könnte, ist Convert.ToInt32 schneller.