黑马程序员技术交流社区
标题:
int.tryparse和parse方法,请问区别是?
[打印本页]
作者:
ren1015
时间:
2012-6-14 10:47
标题:
int.tryparse和parse方法,请问区别是?
今天学了winform视频教程,老师提到int.tryparse ,int还有parse方法,请问区别是?
作者:
吴治澎
时间:
2012-6-14 10:52
int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。
如果字符串为空,则抛出ArgumentNullException异常;
如果字符串内容不是数字,则抛出FormatException异常;
如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;
nt.TryParse与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。
作者:
朱灿
时间:
2012-6-14 11:01
Parse是不自己处理异常,而TryParse则是返回有无异常 ,返回值是bool转换成true 。
直接Parse成功返回Parse后的值,否则异常。
用TryParse是防止异常。
作者:
逝去的记忆ヽ
时间:
2012-6-14 11:16
看这段代码 你就知道了
01.using System;
02.using System.Collections.Generic;
03.using System.Linq;
04.using System.Text;
05.
06.namespace ConsoleApplication
07.{
08. class Program
09. {
10. static void Main(string[] args)
11. {
12. Console.WriteLine(int.Parse("12"));//成功
13. Console.WriteLine(int.Parse("12.5"));//失败
14. Console.WriteLine(int.Parse("a"));//失败
15. //int.Parse 如果转换失败会报错,所以再转换之前要确定能否转成int的字符串后再转
16. int result = 1;
17. int.TryParse("12", out result); //成功返回true,输出result等于12
18. Console.WriteLine(result);
19. int.TryParse("12.5", out result);//成功返回false,输出result等于0
20. Console.WriteLine(result);
21. int.TryParse("a", out result);//成功返回false,输出result等于0
22. Console.WriteLine(result);
23. //int.TryParse 如果转换失败也就是返回false会等于0,反之会转换成功
24.
25. }
26. }
27.
28.
29.}
作者:
平建
时间:
2012-6-14 11:45
简单来说int.Parse转换失败就会报错,抛出异常。而int.TryParse 转换失败或者返回值为fasle时就会等于0.
作者:
黑马龙超
时间:
2012-6-14 11:47
两个都是静态方法
int.tryparse(string s,out int result)两个参数,result为输出参数,用以保存转换后的值,返回值为bool值,true代表转换成功,false代表转换失败,失败不产生异常;
int.parse(string s)一个参数,有点类似于Convert.ToInt32(string s),s格式错误、引用为null或者超出int上下界都会抛出相应的异常;
建议用int.tryparse(string s,out int result)
作者:
赵鹏程
时间:
2012-6-14 12:04
tryParse里面内置了异常处理,出错则返回false,不出错则返回true,int.tryParse(string s,out int result) result 保存转换后的值。int.Parse(string S)跟convert.toInt32(string s)作用差不多
作者:
黑马-许泽宇
时间:
2012-6-14 14:01
看字面意思大概也能猜到,一个是转换,一个是尝试转换嘛,转换成功或失败都会得到一个bool值
作者:
孙毅
时间:
2012-6-14 15:03
int.tryparse(string str,out int result) 使用这种方式转换,如果转换成功返回true,如果转换失败返回false,它不会出现异常,最后一个参数为输出值,如果传换成功,输入相应的值,如果转换失败输出0
int.parse()这种方法也是将数字内容转换为int,但如果转换失败时它会抛出异常
作者:
☆丿灬北纬28°
时间:
2012-6-14 21:08
用int.parse容易出现一些错误,比如字符串用int.parse("gjgh"),就会出先错误导致程序出错,用int.tryParse可以捕获这个错误,显示出来,程序可以正常
作者:
赵学辉
时间:
2012-6-15 17:01
这个在vs里就能看上啊!
你输入“int.parse”时智能提示你,他的返回值是int类型的!!
而你输入“int.Tryparse”可以看出他的返回值是bool类型的!!
例如:
string source = "asd"; //在这输入一个不能转化的!
int result = 0;
result = Int32.Parse(source);
bool tof;
//tof=Int32.TryParse(source, out result); 一个一个看结果!!
console.writeline(result);
//console.writeline(tof);
再把source 的值赋上int型的数一个一个看,就知道了。
作者:
吴伟烈
时间:
2012-6-18 10:44
int.Parse()表示将数字内容的字符串转为int类型,如果有异常,会抛出异常让我们自己处理
int.TryParse()可以有两个参数,第一个是要转换的字段,第二个是一个返回参数
如果装换失败,返回参数的值为0,成功为装换后的数字
而int.TryParse()本身返回的是成功为true失败为false
例子:
int i = -1;
bool b = int.TryParse(null, out i);
执行完毕后,b等于false,i等于0,而不是等于-1,切记。
作者:
李玮
时间:
2012-6-18 11:06
首先,两个都是转换数据类型方法
int.tryparse(待转换,out 转换后返回的) 返回值:转换成功返回 true,转换失败返回 false,out 那里的返回值为0 ,不会抛异常,但可以用返回值判断转换是否成功
int.parse() 返回值:为转换成功后的数据,无法转换会抛异常。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2