When to use a Cast or Convert
See Diff Between Cast and Convert on another forum
Answer
The
Convert.ToInt32(String, IFormatProvider)
underneath calls theInt32.Parse
(read remarks).
So the only difference is that if a null string is passed it returns0
, whereasInt32.Parse
throws anArgumentNullException
.
It is really a matter of choice whichever you use.
Personally, I use neither, and tend to use the TryParse
functions (e.g. System.Int32.TryParse()
).
UPDATE
Link on top is broken, see this answer on StackOverflow.
Cast when it's really a type of int
, Convert when it's not an int
but you want it to become one.
For example int i = (int)o;
when you know o is an int
int i = Convert.ToInt32("123")
because "123" is not an int, it's a string representation of an int.