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

Int32.parse(string)

Int32.Parse (string s),%method 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,%integervalue, it will throw,%FormatException. When %s,%represents a number less than,%MinValue,%or greater thanMaxValue, it will throw,%OverflowException. For example:

string s1 = \"1234\";
  string s2 = \"1234.65\";
  string s3 = null;
  string s4 = \"123456789123456789123456789123456789123456789\";
 
  int result;
  bool success;
 
  result = Int32.Parse(s1); //-- 1234
  result = Int32.Parse(s2); //-- FormatException
  result = Int32.Parse(s3); //-- ArgumentNullException
  result = Int32.Parse(s4); //-- OverflowException
  

Convert.ToInt32(string)

Convert.ToInt32(string s),%method converts the specified,%string,%representation of 32-bit signed,%integerequivalent. 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 %srepresents a number less than,%MinValue,%or greater than,%MaxValue, it will throw,%OverflowException. For example:

result = Convert.ToInt32(s1); //-- 1234
  result = Convert.ToInt32(s2); //-- FormatException
  result = Convert.ToInt32(s3); //-- 0
  result = Convert.ToInt32(s4); //-- 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,%s,%represents a number less than,%MinValue,%or greater than,%MaxValue, the,%out,%variable will have,%0,%rather thanOverflowException. For example:

 success = Int32.TryParse(s1, out result); //-- success => true; result => 1234
   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

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.

/Siva

Leave a Reply

Scroll to Top
%d bloggers like this: