所以我试图在不使用任何循环的情况下拆分数组。
xData
是一种存储csv文件中数据的变体,csv文件中的每一行都包含ID; value,然后将每一行放入数组中。
dData.setNameArray
和dData.setDataArray
是一个自定义类型对象,用于存储排序后的数据以供以后使用。
有了循环,我得到了:
Dim i As Integer
For i = 1 To UBound(xData)
dData.setNameArray = Split(xData(i), ";")(0)
dData.setDataArray = Split(xData(i), ";")(1)
Next i
但是由于大量数据,我想避免这种情况。我想到了删除for loop
并按原样拆分数组,但似乎没有用。
还有其他方法可以避免使用循环吗?我发现Manipulating arrays without loops的第一个答案似乎是正确的方向。但是我不是100%知道如何使用它(如果可能的话)。
答案 0 :(得分:0)
我认为最有效的方法如下。注意使用Long
代替Integer
Dim i As Long
For i = 1 To UBound(xData)
Dim sa() As String
sa = Split(xData(i), ";")
dData.setNameArray = sa(0)
dData.setDataArray = sa(1)
Next i