2013-07-27 95 views
-4
foreach(HtmlElement element in webBrowser1.Document.GetElementsByTagName("a")) 
    { 
     if(element.GetAttribute("href") == 
      "http://myblog.com/Insert/Insertred.html") 
     { 
      element.InvokeMember("click"); 

     } 

    } 

如何停止從該迭代循環foreach? 這個循環經常如何停止此迭代?

+0

什麼時候你想停止循環? – JSQuareD

+0

當它完成!? –

+2

什麼時候完成?遍歷所有元素後它會自動停止。但是如果你不需要遍歷所有的元素,你就可以儘早的停止它。我的問題是:什麼時候?如果您希望只要一次點擊就停下來,那麼Royi Namir的回答是正確的。如果你想在檢查完所有元素後停下來,那麼你不需要改變任何東西。它已經做到了。 – JSQuareD

回答

2

重複,你應該使用break

foreach (HtmlElement element in webBrowser1.Document.GetElementsByTagName("a")) 
      { 
       if (element.GetAttribute("href") == "http://myblog.com/Insert/Insertred.html") 
       { 
        element.InvokeMember("click"); 
        break; 

       } 

    } 

,或者您可以使用return,它將退出方法本身。

+0

打破並返回不工作?這意味着不會停止這個循環?!我不知道爲什麼? –

+0

請幫忙,不要工作? –

+0

@SepehrKalantarian我不明白你的問題。 –

1

通過break從foreach循環中取出。

 foreach (var foo in bar) 
     { 
      if (foo == null) 
       break; // Stops iterating the foreach completely, and moves on to the next line of code after the loop. 
     } 
+0

你能描述嗎?或者我如何在主代碼上使用它(上)? –