2013-09-01 3 views
0

Что не так в этом цикле?Двойной для каждой петли

Я заметил, что строка a не изменяется, но я предполагаю, что она должна перейти к следующей строке в списке, тогда как она отлично работает для ProxyList.

Public Class Form1 

    Public ProxyList As New List(Of String) 
    Public AccountList As New List(Of String) 

    For Each a As String In AccountList 
     Dim z() As String = a.Split(":") 

     For Each p As String In ProxyList 
      ' SENDS WEBREQUESTS BY USING ACCOUNTS AND SETS PROXY ' 
     Next 
    Next 

End Class

+0

Сколько строк у вас в 'AccountList'? – Tim

+0

более 150+, но он просто не пропускает первый. – Zozo

+0

Вы прошли через код в отладчике? Исправлены ли какие-либо исключения? Это может помочь, если вы покажете код, в котором вы инициализируете 'AccountList'. – Tim

ответ

0

Это будет цикл по списку счетов один раз для каждого элемента в proxyList, если есть 5 пунктов в списке учетных записей и 10 в proxyList, то этот код будет цикл в 50 раз. Нет ничего плохого в этом коде, кроме того, что он не соответствует тому, что вы хотели.

Ваш комментарий Вы хотите AccountList и proxyList для обоих заранее вперед одинаково, вы действительно должны определить новый класс:

Public Class ProxyAccount 
    Public Proxy As String 
    Public Account As String 
End Class 

Тогда ваш код становится:

Public Class Form1 

    Public ProxyList As New List(Of ProxyAccount) 

    For Each pa As ProxyAccount In ProxyList 
     Dim a as String = pa.Account 
     Dim z() As String = a.Split(":") 
     Dim p as String = pa.Proxy 
     ' SENDS WEBREQUESTS BY USING ACCOUNTS AND SETS PROXY ' 
     Next 
    Next 
End Class 

Или вы можете сделать это а также:

Public Class Form1 

    Public ProxyList As New List(Of String) 
    Public AccountList As New List(Of String) 

    For i as Integer = 0 To ProxyList.Count - 1 
     If i >= AccountList.Count Then 
      Exit For 
     End If 
     Dim a As String = AccountList(i)  
     Dim z() As String = a.Split(":") 
     Dim p as String = ProxyList(i) 
     ' SENDS WEBREQUESTS BY USING ACCOUNTS AND SETS PROXY ' 
    Next 
End Class 

Любая из этих двух работ просто прекрасна, но вы будете хотите реорганизовать код для очистки.

+0

спасибо, что помог мне, я попробовал второй, и он работал: D – Zozo

Смежные вопросы