Int32.Parse (string )
It converts the string representation of a number to its 32-bit signed integer equivalent.
When s is a null reference, it will throw ArgumentNullException. If s is other than integer value, it will throw FormatException.
When s represents a number less than MinValue or greater than MaxValue, it will throw OverflowException.
For example:
string n1 = "3233";
string n2 = "3233.33";
string n3 = null;
string n4 = "12340056789123456789123456789123456789123456789";
int result;
bool success;
result = Int32.Parse(n1); //-- 3233
result = Int32.Parse(n2); //-- FormatException
result = Int32.Parse(n3); //-- ArgumentNullException
result = Int32.Parse(n4); //-- OverflowException
Convert.ToInt32(string)
It converts the specified string representation of 32-bit signed integer equivalent.
This calls in turn Int32.Parse () method. When s is a null reference, it will return 0 rather than throw ArgumentNullException.
If s is other than integer value, it will throw FormatException. When s represents a number less than MinValue or greater than MaxValue,
it will throw OverflowException.
For example:
result = Convert.ToInt32(n1); //-- 3233
result = Convert.ToInt32(n2); //-- FormatException
result = Convert.ToInt32(n3); //-- 0
result = Convert.ToInt32(n4); //-- OverflowException
Int32.TryParse(string, out int)
It method converts the specified string representation of 32-bit signed integer equivalent to out variable,
and returns true if it is parsed successfully, false otherwise. This method is available in C# 2.0. When s is a null reference,
it will return 0 rather than throw ArgumentNullException. If s is other than an integer value, the out variable will have 0 rather
than FormatException. When s represents a number less than MinValue or greater than MaxValue, the out variable will have 0 rather than
OverflowException.
For example:
success = Int32.TryParse(s1, out result); //-- success => true; result => 3233
success = Int32.TryParse(s2, out result); //-- success => false; result => 0
success = Int32.TryParse(s3, out result); //-- success => false; result => 0
success = Int32.TryParse(s4, out result); //-- success => false; result => 0
Int32.TryParse is better than that of Int32.Parse and Convert.ToInt32.
Convert.ToInt32 is better than Int32.Parse.