函数如何返回多个值?
通常,一个函数只能返回一个值。我想通过一个函数运算后返回多个值,请问如何实现?
Private function A1() as integer
.....
end function
以上例子只能返回A1的值。我想通过该函数运算后返回A1,A2,A3,三个值。请问如何实现?谢谢!!!
问题点数:20、回复次数:18Top
1 楼jadeluo(秀峰)回复于 2005-02-23 11:43:55 得分 5
用ByRef参数来返回第2、3、……n个结果。
Top
2 楼nik_Amis(...)回复于 2005-02-23 11:45:36 得分 0
可以自定义一个类Top
3 楼viena(维也纳N02)回复于 2005-02-23 11:49:25 得分 0
用ByRef(引用传递)参数,变量传入后,可以在函数内修改它的值Top
4 楼viena(维也纳N02)回复于 2005-02-23 11:53:06 得分 5
在函数内修改ByRef传递的参数,等于修改传入的变量Top
5 楼dlyme(大老爷们儿)回复于 2005-02-23 12:36:59 得分 0
为什么不用数组作接口?
Private Function A1() As Integer()Top
6 楼homezj(小吉)回复于 2005-02-23 13:04:03 得分 5
函数返回数组、集合或数组、集合做参数以及用Byref传参数都行,方法太多!看自己需要选用。Top
7 楼zglnew(zgl)回复于 2005-02-23 16:21:39 得分 0
函数中,多传一些参数、数组就行了Top
8 楼myhgyp(也许是这样的,信不信由你)回复于 2005-02-23 16:39:06 得分 5
Option Explicit
Private Sub Form_Load()
Dim mm() As String
Dim I, J As Integer
mm = initarray
For I = 0 To 2
For J = 0 To 1
MsgBox mm(I, J)
Next J
Next I
reSetarray mm
mm(0, 0) = "7"
mm(0, 1) = "8"
For I = 0 To 3
For J = 0 To 1
MsgBox mm(I, J)
Next J
Next I
End Sub
Private Function initarray() As String() '返回字符数组
Dim a(4, 2) As String
Dim I, J As Integer
Dim k As Integer
k = 1
For I = 0 To 3
For J = 0 To 1
a(I, J) = k
k = k + 1
Next J
Next I
initarray = a
End Function
Private Sub reSetarray(ByRef a() As String)
Dim I, J As Integer
For I = UBound(a) - 1 To 1 Step -1
For J = 0 To 1
a(I, J) = a(I - 1, J)
Next J
Next I
End SubTop
9 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2005-02-23 17:07:21 得分 0
返回数组效率太低
封装成类好的多
Top
10 楼szmickylee(笨老鼠)回复于 2005-02-23 17:19:11 得分 0
要不就在定义变量的时候用byref来定义,就可以了Top
11 楼wenxinguo213(温 泉)回复于 2005-02-23 21:58:38 得分 0
我看还是自定义一个类Top
12 楼l3300(小沙子)回复于 2005-02-23 23:53:16 得分 0
定义结构不行?Top
13 楼kussoft(TerryHuang)回复于 2005-02-24 01:27:18 得分 0
返回多个运行结果可能很多种方式啊。例如,你可以自定义一个数据类型,
也可以将返回值返回到一个字符串当中(12,23,34)然后用split来分成数组。
还有就是直接返回一个数组都可以啊。Top
14 楼chuting(学习的动力)回复于 2005-02-24 07:37:55 得分 0
一个函数返回多个值
完全可以,但不是你说的那样,问题问得有问题
提出正确的问题,等于解决问题的一半Top
15 楼youchenglong(小志)回复于 2005-02-24 08:06:32 得分 0
唉,这么累,定义个公共变量就行了,我就常这么做,虽然很土,实用就行Top
16 楼yiliao(依了)回复于 2005-02-24 09:06:05 得分 0
对定义公共变量是最简单的方法,不过最好在一个模块中定义这些变量.Top
17 楼dongge2000(目前叫西西了)回复于 2005-02-24 09:57:00 得分 0
呵呵,我是用TYPE定义一个数据类型Top
18 楼lxgmag(沧海亦心)回复于 2005-02-24 10:03:01 得分 0
可以定义一个结构,来实现多个变量来传递;
另外,还可以用一个最蠢的办法来实现,就是在函数内把要传递的值转换程字符串连接在一起,组成一个变量,然后返回出来。在使用这个值时,再把这个值按照相应的办法把它拆开。
这个办法比较适合传递较少的变量。Top




