在VB.net中,将单元格中的值向下移动的最简单,最有效的方法是什么?

时间:2016-05-02 12:30:41

标签: vb.net

我使用for循环将数据向下移一个数组:

For x = 0 To (UBound(stringArray) - 1)
            stringArray(x) = stringArray(x + 1)

Next

数据由字符串组成,大约包含10-12个字符。我想知道,有没有更有效的方法来做到这一点,或者使用for循环是实现这一目标的最佳方式?

1 个答案:

答案 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

还要考虑最后一个示例创建一个新数组,其中所有原始元素少于最后一个,而您的循环或第一个示例更改原始数组,使最后一个元素仍然存在。根据您的限制,这可能是可取的或不可取的。