Difference between int.Parse and Convert.ToInt32

I know this post sound basic to most of people but still lots of people does not know this. So I decided to post a blog post for this. Both int.Parse and Convert.ToInt32 are used to convert string into the integer but Only difference between them is to Convert.ToInt32 handle null and returns ‘0’ as output and int.parse is not going to handle NULL and will give a Argument Null Exception. Here is the example for that both are almost same except handling null.


          string convertToInt = "12";
string nullString = null;
string maxValue = "32222222222222222222222222222222222";
string formatException = "12.32";

int parseResult;

// It will perfectly convert interger
parseResult= int.Parse(convertToInt);

// It will raise Argument Null Exception
parseResult= int.Parse(nullString);

//It willl raise Over Flow Exception
parseResult= int.Parse(maxValue);

//It will raise Format Exception
parseResult= int.Parse(formatException);


//For Convert.ToInt32

//It will perfectly convert integer
parseResult= Convert.ToInt32(convertToInt);

//It will ouput as 0 if Null string is there
parseResult= Convert.ToInt32(nullString);

//It will raise Over Flow Exception
parseResult= Convert.ToInt32(maxValue);

//It will raise Format Exception
parseResult= Convert.ToInt32(formatException);

Hope this will help you understand the better but still there is third option available called int.TryParse which can handle all kind of exception and return result as Output Parameter.

Shout it
kick it on DotNetKicks.com

7 comments :

  1. Nice post, I for one did not knew the difference. Do you know why this is implemented this way? Because from the names of the namespaces and the methods I could not have seen that there would be any difference. (In contrast to int.Parse and int.TryParse)

    P.S. your "post comment" functionality doesn't work that well in firefox :-(

    ReplyDelete
  2. I don't think its implemented for any purpose. It just a way that how the things are converted into interger both are diffrent ways

    ReplyDelete
  3. This is a nice article..
    Its very easy to understand ..
    And this article is using to learn something about it..
    asp.net, c#, javascript
    Thanks a lot..!

    ReplyDelete
  4. I have already implemented disqus for that so it will work fine on all the browser

    ReplyDelete

Your feedback is very important to me. Please provide your feedback via putting comments.