我使用for循环将数据向下移一个数组:
For x = 0 To (UBound(stringArray) - 1)
stringArray(x) = stringArray(x + 1)
Next
数据由字符串组成,大约包含10-12个字符。我想知道,有没有更有效的方法来做到这一点,或者使用for循环是实现这一目标的最佳方式?
答案 0 :(得分:0)
您可以这样使用Array.Copy
Dim stringArray = {"1", "2", "3", "4", "5"}
Array.Copy(stringArray, 1, stringArray, 0, stringArray.Length-1)
-- stringArray is: 2,3,4,5,5
但规模如此之小(15个元素),这几乎不值得采取 你可以保持你的实际代码没有任何可察觉的差异。
或者更好的是,使用Skip扩展来获得更多可读代码:
Dim stringArray = {"1", "2", "3", "4", "5"}
Dim secondArray = stringArray.Skip(1)
-- secondArray is: 2,3,4,5
还要考虑最后一个示例创建一个新数组,其中所有原始元素少于最后一个,而您的循环或第一个示例更改原始数组,使最后一个元素仍然存在。根据您的限制,这可能是可取的或不可取的。