Javascript 如何在vb.net中将对象转换为数组

Javascript 如何在vb.net中将对象转换为数组,javascript,vb.net,Javascript,Vb.net,我有一个返回数组的javascript var docArray = new Array(page, stamprect[0], stamprect[3], stamprect[2], stamprect[1], srot); return docArray; 我试图让VB.Net把它读入数组 Dim stampInfo() As Integer stampInfo = javaScriptObj.getAllGhostStamps(CInt(pages.Item(i)) - 1)

我有一个返回数组的javascript

var docArray = new Array(page, stamprect[0], stamprect[3], stamprect[2], stamprect[1],     srot);
return docArray;
我试图让VB.Net把它读入数组

Dim stampInfo() As Integer
stampInfo = javaScriptObj.getAllGhostStamps(CInt(pages.Item(i)) - 1)
我收到错误消息:

Unable to cast object of type 'System.Object[]' to type 'System.Int32[]'.

我不知道如何将它键入数组。任何帮助都将不胜感激。谢谢

您需要将数组中的每个项强制转换为整数。例如:

Dim raw() As Object = javaScriptObj.getAllGhostStamps(CInt(pages.Item(i)) - 1)
Dim stampInfo(raw.Length) As Integer
For i As Integer = 0 to raw.Length - 1
    stampInfo(i) = CType(raw(i), Integer)
Next

使用DirectCast而不是CType@Yatrix据我所知,DirectCast的问题在于它跳过了使用任何自定义的运算符重载。由于运算符重载非常有用,我有时也会使用它们,所以我更喜欢使用CType。我相信CType相当于C#中的典型强制转换操作(例如
intx=(int)y;
)。