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 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 integer
equivalent. This calls in turn Int32.Parse ()
method. When s
is anull
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 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 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.The Convert.ToInt32(String, IFormatProvider) underneath calls the Int32.Parse. So the only difference is that if a null string is passed to Convert it returns 0, whereas Int32.Parse throws an ArgumentNullException.
0 comments:
Post a Comment