Click here to Skip to main content
Click here to Skip to main content

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

By , 27 Jan 2009
 

Introduction

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 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 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 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(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 than OverflowException. 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.

History

  • 27th January, 2009: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

AgileWare
Software Developer AgileWare
Brazil Brazil
Member
SoftWare Developer.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 5memberdesenvolvedor8224 Jan '13 - 17:40 
QuestionThanks for all contributing to the developer communitymemberdesenvolvedor8224 Jan '13 - 17:37 
GeneralMy vote of 5memberssa201018 Jul '12 - 20:27 
SuggestionNice Work AgilWarememberThilina Chandima26 Mar '12 - 3:30 
GeneralRe: Nice Work AgilWaremvpMark Nischalke27 Mar '12 - 16:08 
GeneralDifference between int.parse(), int.Tryparse() and Convert.ToInt32()memberMember 333565315 May '10 - 11:43 
GeneralGood ArticlememberMember 333565330 Apr '10 - 8:35 
GeneralMy vote of 2memberAmit Narula30 Nov '09 - 5:39 
GeneralMy vote of 2memberStinky Boat18 Nov '09 - 13:20 
GeneralExceptions are not necessarily badmemberOmer Mor28 Jan '09 - 6:22 
GeneralMy vote of 2memberOmer Mor28 Jan '09 - 6:16 
GeneralUmm...memberPIEBALDconsult27 Jan '09 - 12:58 
GeneralSome commentsmvpColin Angus Mackay27 Jan '09 - 6:27 
GeneralRe: Some commentsmembersupercat927 Jan '09 - 8:05 
GeneralRe: Some comments [modified]mvpColin Angus Mackay27 Jan '09 - 8:30 
GeneralRe: Some commentsmembersupercat927 Jan '09 - 9:26 
GeneralRe: Some commentsmvpColin Angus Mackay27 Jan '09 - 11:27 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web01 | 2.6.130516.1 | Last Updated 27 Jan 2009
Article Copyright 2009 by AgileWare
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid