Difference between int.Parse and Convert.ToInt32Difference 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.