如何在vb.net中偏移String()?

时间:2013-04-06 22:16:15

标签: vb.net string for-loop foreach offset

我在目录中有一系列文件要迭代,但我需要能够从列表中的特定文件开始,它不一定是string()中的第一项。如果我有String(){“a”,“b”,“c”,“d”}并且我想迭代每一个但是从c,b或d开始而不是a,我该如何实现这一点在...中使用For Each项目 注意:但是解决方案是它必须能够处理列表中不同数量的项目。

谢谢!

1 个答案:

答案 0 :(得分:0)

你不能这样做。 For Each - 数组将始终从第一个项目到最后一个项目进行枚举。

当然,您可以自己实现此行为。

    Dim myArray As String() = {"a", "b", "c", "d", "e"}
    Dim offset As Integer = 2

    For i As Integer = offset To UBound(myArray)
        Dim item As String = myArray(i)
        ' Do things
        Console.WriteLine(item)
    Next
    If Not offset = 0 Then
        For i As Integer = 0 To offset - 1
            Dim item As String = myArray(i)
            ' Do things
            Console.WriteLine(item)
        Next
    End If

    Console.ReadLine()

将经历(偏移,偏移+ 1,偏移+ 2 ......偏移+(n偏移-1),0,1,2 ...偏移-1)。 可能有些错误,我的VB生锈了。