Introduction
This tip presents the main difference betweenint.Parse()
, Convert.ToInt32()
and int.TryParse()
.int.Parse(string s)
Convert.ToInt32(string s)
int.TryParse(string s,Out)
int.Parse(string s)
Simply,int.Parse (string s)
method converts the string
to integer. If string s
is null
, then it will throw ArgumentNullException
. If string s
is other than integer value, then it will throw FormatException
. If string s
represents out of integer ranges, then it will throw OverflowException
.Example
Hide Copy Code
//
// int.Parse(string s)
//
class Program
{
static void Main(string[] args)
{
string str1="9009";
string str2=null;
string str3="9009.9090800";
string str4="90909809099090909900900909090909";
int finalResult;
finalResult = int.Parse(str1); //success
finalResult = int.Parse(str2); // ArgumentNullException
finalResult = int.Parse(str3); //FormatException
finalResult = int.Parse(str4); //OverflowException
}
}
Convert.ToInt32(string s)
Simply,Convert.ToInt32(string s)
method converts the string
to integer. If string s
is null
, then it will return 0
rather than throw ArgumentNullException
. If string s
is other than integer value, then it will throw FormatException
. If string s
represents out of integer ranges, then it will throw OverflowException
.Example
Hide Copy Code
//
// Convert.ToInt32(string s)
//
class Program
{
static void Main(string[] args)
{
string str1="9009";
string str2=null;
string str3="9009.9090800";
string str4="90909809099090909900900909090909";
int finalResult;
finalResult = Convert.ToInt32(str1); // 9009
finalResult = Convert.ToInt32(str2); // 0
finalResult = Convert.ToInt32(str3); //FormatException
finalResult = Convert.ToInt32(str4); //OverflowException
}
}
int.TryParse(string s,Out)
Simplyint.TryParse(string s,out int)
method converts the string
to integer out
variable and returns true
if successfully parsed, otherwise false
. If string s
is null
, then the out
variable has 0
rather than throw ArgumentNullException
. If string s
is other than integer value, then the out
variable will have 0
rather than FormatException
. If string s
represents out of integer ranges, then the out
variable will have 0
rather than throw OverflowException
.Example
Hide Copy Code
//
// Convert.ToInt32(string s)
//
class Program
{
static void Main(string[] args)
{
string str1="9009";
string str2=null;
string str3="9009.9090800";
string str4="90909809099090909900900909090909";
int finalResult;
bool output;
output = int.TryParse(str1,out finalResult); // 9009
output = int.TryParse(str2,out finalResult); // 0
output = int.TryParse(str3,out finalResult); // 0
output = int.TryParse(str4, out finalResult); // 0
}
}
Finally, among all these methods, it is better to use int.TryParse(string s, out int)
as this method is the best forever.
No comments:
Post a Comment