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 throwArgumentNullException
. - If
s
is other than integer value, it will throwFormatException
. - When
s
represents a number less thanMinValue
or greater thanMaxValue
, it will throwOverflowException
.
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 throwArgumentNullException
. - If
s
is other than integer value, it will throwFormatException
. - When
s
represents a number less thanMinValue
or greater thanMaxValue
, it will throwOverflowException
.
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 throwArgumentNullException
. - If
s
is other than an integer value, the out variable will have 0 rather thanFormatException
. - When
s
represents a number less thanMinValue
or greater thanMaxValue
, 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
Conclusion
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.