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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓超军 中级黑马   /  2012-9-30 19:36  /  3638 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在视频里有这样一个语句:
int.TryParse(textBox1.Text,out i1);
我的问题是这里的out是什么意思?有什么作用?out又怎么使用?Parse和TryParse有什么区别?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

7 个回复

倒序浏览
陈顺亮 来自手机 中级黑马 2012-9-30 23:54:05
沙发
将转换成功的值传出给i1,parse转换如果失败会报异常,而tryparse转换返回bool类型值,成功为true,失败为false,不会报异常
来自:黑马程序员训练营论坛 Windows Phone 7 客户端来自: WindowsPhone客户端

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
out你可以理解为扔出。
这句代码的意思可以理解为,试着把textBox1.Text转换成int类型的数据,如果转换成功就把转换成功的值扔出给到i1,如果不成功就会返回false。
这里TryParse的意义也就在于此。
int.Parse是用户输入的必须可以转换成int,如果转换不了,就会报异常。
但是用int.TryParse就不会。转换不了就返回false。
这是关于异常处理的方法。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
out 的意思是  可以没有初始值  但是一定要有输出值

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
out用来修饰输出参数
输出参数 (output parameter) 用于从方法类传递值给方法外。

对于输出参数来说,调用方提供的实参的初始值并不重要(因为初始化后仍然会被方法中的out给覆盖掉)。
除了初始值不重要这个特点外,输出参数与引用参数(ref修饰那个)类似。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
out 传出值
ref 即传入也传出

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
说道out,就得晓得他兄弟ref了。
ref 要求参数在传递给函数前要初始化,out则不需要,常见于平台调用中

http://blog.163.com/yangjing1_hi/blog/static/163075985201042311164588/

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

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