2013-09-08 8 views
2

мне интересно, если я мог бы получить значение следующего значения в Для каждого до следующего заявленияДля каждого следующего значения до следующего

Если у меня есть этот код:

For Each i As String In myStringArray 
    'Do Something with i 
Next 

Могу ли я есть что-то подобное, только я делаю или проверить следующее значение:

For Each i As String In myStringArray 
    'Do Something with i 
    'Check the Next Value of i 
Next 

ответ

2

Вы можете сделать наоборот и сохранить последний пункт, но действуют на него:

Dim last As String = Nothing 

For Each i As String In myStringArray 
    If last IsNot Nothing Then 
     ' Treat last as current, i as next 
    End If 

    last = i 
Next 
+0

+1 Потому что, если это возможно (в зависимости от окружающего кода), это более чистое решение, чем решение на основе контура индекса. – NiKiZe

0

не используйте for each петлю, используйте for петлю и индекса в массиве.

For index As Integer = 0 To myStringArray.Length 
    ... 
Next 
0

Нет не в для каждого, но вы можете использовать индекс вместо этого, если он является массив

For i As Integer = 0 To myStringArray.Length - 1 
    Dim s As String = myStringArray(i) 
    'Do Something with s 
    If i - 1 < myStringArray.Length Then 
     Dim nexts as String = myStringArray(i + 1) 
     'Check the Next Value of s = nexts 
    End If 
Next 
Смежные вопросы