2011-11-02 55 views
0

我遇到了一个简单的问题,我找不到有效的解决方案。VB.net将2D对象投射到1阵列

我需要将2D对象数组转换为1D字符串。

Dim saRet(,) As Object = Nothing 
Dim fileLineArray() As String = Nothing 

. 
. 
SaRet = xlrange.Value //it gets values assigned as objects 
In a loop.... 
fileLineArray(i) = Cstr(SaRet(i,0)) 

我得到错误,索引超出了界限。

的ToString心不是能够转换对象的2D阵列1 D.

+0

在为它分配值之前,您是否测量了fileLineArray? –

+0

我打算声明一个没有界限的数组。因此我在声明中将它初始化为无。 –

+0

您不能仅仅为数组的元素指定一个值,而无需先对其进行标注。如果您当时不知道维数的数量,您可以改为使用泛型:Dim fileLineArray As New List(Of String) –

回答

0

Perhapes一个ReDim Preserve是为了。

+3

我很确定您只能将'ReDim Preserve'作为多维的最后一个维度数组(意思是你不能改变维数)。另外,'ReDim Preserve'通常是超级糟糕的。 – MusiGenesis

+0

感谢你们的快速输入。 –