Difference among Int32.Parse(), Convert.ToInt32(), and Int32.TryParse()

* Int32.Parse (string s) method converts the string representation of a number to its 32-bit signed integer equivalent. * When s is 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.

Convert.ToInt32(string)

* Convert.ToInt32(string s) method converts the specified the string representation of 32-bit signed integer equivalent. This calls in turn Int32.Parse () method. * When s is 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

Int32.TryParse(string, out int)

* Int32.Parse(string, out int) method converts the specified the string representation of 32-bit signed integer equivalent to out variable, and returns true if it parsed successfully, false otherwise. This method is available in C# 2.0 * When s is null reference, it will return 0 rather than throw ArgumentNullException. * If s is other than 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.

Convert.ToInt32 is better than Int32.Parse, since it return 0 rather than exception. But, again according to the requirement this can be used. TryParse will be best since it handles exception itself always.