A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 芦路 中级黑马   /  2013-10-23 18:53  /  1314 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 芦路 于 2013-10-24 08:15 编辑

都是尝试转换,什么时候用as 什么时候用tryparse

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

2 个回复

倒序浏览
代码说明:
Person p=new Chinese();
Chinese cn=p as Chinese();
Chinese cn=Chinese(p);
由于是在网吧就这么简单的写下吧,
第三行代码那种写法,如果转换不成功就会报异常,但是使用as进行类型转换,如果转换不成功,则不会报异常,返回一个null
TryParse主要是对数值类型转换
比如
int result;
bool b= int.TryParse("abc",out result);
TryParse方法返回值为bool值,并且会有一个out参数传出,如果转换不成功,则传出的这个参数为你定义这个参数的默认值,比如这里定义的result为int,则转换不成功,result=0;
希望能帮到你

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
区别:
as用于引用类型转换,转换失败会返回null
tryparse是尝试转换,返回的是布尔值
使用:
都可以用作if语句中的判断条件.
既需要判断是否转换成功,又需要在转换成功时输出转换后的值时用tryparse.
as我很少用,见到别人使用是在winform事件中写的类型转换,比如  button btn=sender as button;    我一般都用 button  btn=(button) sender;

有错误的地方欢迎指出!

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马