博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Difference Between Int32.Parse(), Convert.ToInt32(), and Int32.TryParse()
阅读量:6931 次
发布时间:2019-06-27

本文共 3758 字,大约阅读时间需要 12 分钟。

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 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 throw OverflowException. For example:

string s1 = "1234"; string s2 = "1234.65"; string s3 = null; string s4 = "123456789123456789123456789123456789123456789"; string s5 ="abcde"; string s6 ="abc1001" string s7 ="-456789" string s8 ="-78965.1234" string s9 =""; int result; bool success; result = Int32.Parse(s1); //-- 1234 result = Int32.Parse(s2); //-- FormatException result = Int32.Parse(s3); //-- ArgumentNullException result = Int32.Parse(s4); //-- OverflowException result = Int32.Pars(s5);//--Input string was not in a correct format. result =Int32.Pars(s6); //--Input string was not in a correct format. result= Int32.Pars(s7);//--  -456789 result= Int32.Pars(s8);//--Input string was not in a correct format. result=Int32.Pars(s9);//--Input string was not in a correct format.

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 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 throw OverflowException. For example:

result = Convert.ToInt32(s1); //-- 1234 result = Convert.ToInt32(s2); //-- FormatException result = Convert.ToInt32(s3); //-- 0 result = Convert.ToInt32(s4); //-- Value was either too large or too small for an Int32. result = Convert.ToInt32(s5);//--Input string was not in a correct format. result = Convert.ToInt32(s6);//--Input string was not in a correct format. result = Convert.ToInt32(s7);//--  -456789 result = Convert.ToInt32(s8);//--Input string was not in a correct format. result = Convert.ToInt32(s9);//--Input string was not in a correct format.

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 success = Int32.TryParse(s5, out result); //-- success => false; result => 0 success = Int32.TryParse(s6, out result); //-- success => false; result => 0 success = Int32.TryParse(s7, out result); //-- success => true; result => 456789 success = Int32.TryParse(s8, out result); //-- success => false; result => 0 success = Int32.TryParse(s9, 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.

转载于:https://www.cnblogs.com/Jenny90/archive/2013/03/08/2949626.html

你可能感兴趣的文章
MATLAB中-27开3次方得不到-3的原因
查看>>
一个格式化字符串的函数ToString
查看>>
I/O: std::ios_base::openmode
查看>>
Web安全测试工具小集
查看>>
使用Swift模拟Window-LFU
查看>>
ElasticSearch无法启动
查看>>
mysql explain 的type解释
查看>>
jQuery遍历方式
查看>>
C++环境编译使用sqlite数据库全过程
查看>>
anaconda不错的
查看>>
大数据之 ZooKeeper原理及其在Hadoop和HBase中的应用
查看>>
vs配置D3D开发环境
查看>>
JS函数(自调函数)与闭包【高级函数】
查看>>
mysql decimal(10,2)对应java类型
查看>>
技术领导(Technical Leader)画像
查看>>
HTTP 用户认证
查看>>
android binder 基础实例及解析(一)【转】
查看>>
Qt网络编程之QNetworkAccessManager
查看>>
杂七杂八
查看>>
Lua代码提示和方法跳转
查看>>