2013-09-01 4 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 

최종 클래스

+0

'AccountList'에는 몇 개의 문자열이 있습니까? – Tim

+0

이상 150 +하지만 그냥 첫 번째 건너 뛰지 않습니다. – Zozo

+0

디버거에서 코드를 밟았습니까? 예외가 발생하고 있습니까? 'AccountList'를 초기화하는 코드를 보여 주면 도움이 될 것입니다. – Tim

답변

0

proxyList의 모든 항목에 대해 한 번 계정 목록을 통해이 반복됩니다,이 코드 것이다 루프 50 회 proxyList 5 개 계정 목록의 항목과 10가있는 경우. 이 코드는 사용자가 원하는 것과 일치하지 않는 경우를 제외하고는 아무런 문제가 없습니다.

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

그런 다음 코드가됩니다 : 당신의 코멘트에서

당신이 앞으로 동등하게 사전에 accountList 및 proxyList를 원하는, 당신은 정말 새로운 클래스를 정의해야

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

관련 문제