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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 李永涛 于 2012-12-7 17:56 编辑

一个方法怎么同时返回两个不同类型的参数?

评分

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

查看全部评分

10 个回复

倒序浏览
Object,任何类型都OK~

评分

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

查看全部评分

回复 使用道具 举报
out  ref 通过参数返回值

评分

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

查看全部评分

回复 使用道具 举报
本帖最后由 罗代势 于 2012-12-6 19:32 编辑

bool result=xx.TryParse(string s,out result)也可以得到两个不同类型的结果布尔类型和整数/单精度/双精度/(也可以得到布尔类型)等,bool类型和xx类型

评分

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

查看全部评分

回复 使用道具 举报
李栋Jelly 发表于 2012-12-6 17:59
Object,任何类型都OK~

感觉object的尽量少用  避免箱装拆箱 ,arraylist 让淘汰就是这原因 今后编程会走向泛型化
回复 使用道具 举报
首先,同时返回二个相同类型参数的话,是普通方法可以通过返回一个数组或集合来实现的。
如果是要同时返回二个不同类型的参数,则一定要用到ref或者out参数。ref是引用类型传参,前期如果你不是很了解引用类型的话,就直接百度一下out的用法,知道怎么用就行了。
可以给你举例说明一下,请查看附件图片。

举例.jpg (41.2 KB, 下载次数: 155)

举例.jpg

评分

参与人数 2技术分 +1 黑马币 +9 收起 理由
宋天琪 + 1
刘俊红 + 9

查看全部评分

回复 使用道具 举报
一个方法中使用return语句返回运算结果,一次只能返回一个结果。如果要返回多个数据可以使用引用型参数,用ref关键字声明,调用方法传递参数时,传递的是实参变量的引用,这样在方法内部修改了形参变量的值,实参变量的值也会得到修改,相当于返回多个结果。也可以使用输出参数,用out关键字声明,会将方法中的数据通过形参传递给实参,也可以达到返回多个结果的效果。

评分

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

查看全部评分

回复 使用道具 举报
「一个方法怎么同时返回两个不同类型的参数」不清楚楼主的真实意思。

如果是需要「一个方法返回N个不同类型的值」的话:
1)楼上的使用 N 个out参数的方法是可以的。
2)使用下面的方法也可以,C#4.0支持。如果需要返回N个不同类型的话,就直接设置返回值类型为:Tuple<类型1, 类型2, 类型……,类型N> 。
方法里调用Tuple.Create()方法,它的参数也可以从外界获取。
方法的返回值通过 Item1,Item2,Item……ItemN获取。



评分

参与人数 2技术分 +1 黑马币 +30 收起 理由
宋天琪 + 1
邓艳秋 + 30

查看全部评分

回复 使用道具 举报
邓艳秋 发表于 2012-12-6 22:13
首先,同时返回二个相同类型参数的话,是普通方法可以通过返回一个数组或集合来实现的。
如果是要同时返回 ...

谢谢秋姐了···
回复 使用道具 举报
刘俊红 发表于 2012-12-6 22:37
「一个方法怎么同时返回两个不同类型的参数」不清楚楼主的真实意思。

如果是需要「一个方法返回N个不同类 ...

多谢!这个方法还真没见过。长见识了···
回复 使用道具 举报
刘亚龙 发表于 2012-12-6 22:24
一个方法中使用return语句返回运算结果,一次只能返回一个结果。如果要返回多个数据可以使用引用型参数,用 ...

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