我怎么能反转一个充满整数的数组,例如:
[1;5;8;45;54]
Run Code Online (Sandbox Code Playgroud)
至:
[54;45;8;5;1]
Run Code Online (Sandbox Code Playgroud)
我可以使用任何内置功能吗?
我尝试过使用这种方法:
Array.Reverse(arr)
Run Code Online (Sandbox Code Playgroud)
我从工具>引用添加了Mscorlib.dll,但它显示错误:语法错误.在Array.Reverse(arr)位置.
你可以使用ArrayList
类并包装它的Reverse
方法:
Function ReverseArray(arr As Variant) As Variant
Dim val As Variant
With CreateObject("System.Collections.ArrayList") '<-- create a "temporary" array list with late binding
For Each val In arr '<--| fill arraylist
.Add val
Next val
.Reverse '<--| reverse it
ReverseArray = .Toarray '<--| write it into an array
End With
End Function
Run Code Online (Sandbox Code Playgroud)
使用方式如下:
Sub main()
Dim arr As Variant
arr = ReverseArray(Array(1, 2, 3, 4, 5)) '<-- it returns an array of Variant/Integer with values 5,4,3,2,1
End Sub
Run Code Online (Sandbox Code Playgroud)