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