Home / Software / Tips and Tricks / Difference between Int32.Parse(), Convert.ToInt32(), and Int32.TryParse()

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

Updated:  10/22/2010 13:10 PM
Author:  Shiju Mathews

Status:    Resolved.


  • Int32.parse(string)

    Int32.Parse (string NumberString) method converts the string representation of a number to its 32-bit signed integer equivalent. When NumberString is a null reference, it will throw ArgumentNullException. If NumberString is other than integer value, it will throw FormatException. When NumberString represents a number less than MinValue or greater than MaxValue, it will throw OverflowException.


  • Convert.ToInt32(string)
    Convert.ToInt32(string NumberString) method converts the specified string representation of 32-bit signed integer equivalent. This calls in turn Int32.Parse () method. When NumberString is a null reference, it will return 0 rather than throw ArgumentNullException. If NumberString is other than integer value, it will throw FormatException. When NumberString 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 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 NumberString represents a number less than MinValue or greater than MaxValue, the out variable will have 0 rather than OverflowException. For example:


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