以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  内部函数的参数不可以是集合或者数组吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63048)

--  作者:东坡一剑
--  发布时间:2015/1/12 21:42:00
--  内部函数的参数不可以是集合或者数组吗?
想把一个排序算法封装成内部函数,代码如下,但是没通过,请教!

方案A:

Dim lst As new List(Of Integer) = Args(0)
Dim n As Integer = lst.count
Dim i,j,temp As Integer

For i  = 0 To n -1
    For j  = 0 To n -1-i
        If lst(j) > lst(j+1) Then
            temp = lst(j)
            lst(j) = lst(j+1)
            lst(j+1) = temp
        End If
    Next
Next

方案B:

Dim n As Integer = Args(1)
Dim lst(n) As Integer = Args(0)
Dim i,j,temp As Integer

For i  = 0 To n -1
    For j  = 0 To n -1-i
        If lst(j) > lst(j+1) Then
            temp = lst(j)
            lst(j) = lst(j+1)
            lst(j+1) = temp
        End If
    Next
Next
[此贴子已经被作者于2015-1-12 21:43:37编辑过]

--  作者:有点甜
--  发布时间:2015/1/12 21:45:00
--  

1、

 

Dim lst As List(Of Integer) = Args(0)
Dim n As Integer = lst.count
Dim i,j,temp As Integer


For i  = 0 To n -1
    For j  = 0 To n -1-i
        If lst(j) > lst(j+1) Then
            temp = lst(j)
            lst(j) = lst(j+1)
            lst(j+1) = temp
        End If
    Next
Next


--  作者:有点甜
--  发布时间:2015/1/12 21:46:00
--  

2、

 

Dim lst() As Integer = Args(0)
Dim n As Integer = lst.length
Dim i,j,temp As Integer


For i  = 0 To n -1
    For j  = 0 To n -1-i
        If lst(j) > lst(j+1) Then
            temp = lst(j)
            lst(j) = lst(j+1)
            lst(j+1) = temp
        End If
    Next
Next


--  作者:东坡一剑
--  发布时间:2015/1/12 21:58:00
--  
用New和不用New的区别是什么呢?
函数又该return 什么呢?


[此贴子已经被作者于2015-1-12 21:58:43编辑过]

--  作者:有点甜
--  发布时间:2015/1/12 21:59:00
--  
以下是引用东坡一剑在2015-1-12 21:58:00的发言:
用New和不用New的区别是什么呢?

 

new 就是给变量赋值了