黑马程序员技术交流社区

标题: 一个方法怎么同时返回两个不同类型的参数 [打印本页]

作者: 李永涛    时间: 2012-12-6 17:49
标题: 一个方法怎么同时返回两个不同类型的参数
本帖最后由 李永涛 于 2012-12-7 17:56 编辑

一个方法怎么同时返回两个不同类型的参数?
作者: 李栋Jelly    时间: 2012-12-6 17:59
Object,任何类型都OK~
作者: 申延超    时间: 2012-12-6 18:28
out  ref 通过参数返回值
作者: 罗代势    时间: 2012-12-6 19:24
本帖最后由 罗代势 于 2012-12-6 19:32 编辑

bool result=xx.TryParse(string s,out result)也可以得到两个不同类型的结果布尔类型和整数/单精度/双精度/(也可以得到布尔类型)等,bool类型和xx类型
作者: Jam    时间: 2012-12-6 21:58
李栋Jelly 发表于 2012-12-6 17:59
Object,任何类型都OK~

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

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

举例.jpg

作者: 刘亚龙    时间: 2012-12-6 22:24
一个方法中使用return语句返回运算结果,一次只能返回一个结果。如果要返回多个数据可以使用引用型参数,用ref关键字声明,调用方法传递参数时,传递的是实参变量的引用,这样在方法内部修改了形参变量的值,实参变量的值也会得到修改,相当于返回多个结果。也可以使用输出参数,用out关键字声明,会将方法中的数据通过形参传递给实参,也可以达到返回多个结果的效果。
作者: 刘俊红    时间: 2012-12-6 22:37
「一个方法怎么同时返回两个不同类型的参数」不清楚楼主的真实意思。

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




作者: 李永涛    时间: 2012-12-7 17:53
邓艳秋 发表于 2012-12-6 22:13
首先,同时返回二个相同类型参数的话,是普通方法可以通过返回一个数组或集合来实现的。
如果是要同时返回 ...

谢谢秋姐了···
作者: 李永涛    时间: 2012-12-7 17:55
刘俊红 发表于 2012-12-6 22:37
「一个方法怎么同时返回两个不同类型的参数」不清楚楼主的真实意思。

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

多谢!这个方法还真没见过。长见识了···
作者: 李永涛    时间: 2012-12-7 17:56
刘亚龙 发表于 2012-12-6 22:24
一个方法中使用return语句返回运算结果,一次只能返回一个结果。如果要返回多个数据可以使用引用型参数,用 ...

:)谢了······




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2