Comment j’obtenir d’imbriqués pour ou boucle en vb.net ?
J’ai essayé d’utiliser la sortie mais il a sauté ou breakée seul pour boucle seulement.
Comment puis-je faire pour les éléments suivants :
Comment j’obtenir d’imbriqués pour ou boucle en vb.net ?
J’ai essayé d’utiliser la sortie mais il a sauté ou breakée seul pour boucle seulement.
Comment puis-je faire pour les éléments suivants :
Malheureusement, il n'y a pas d' exit two levels of for
déclaration, mais il ya quelques solutions de contournement pour faire ce que vous voulez:
Goto. En général, l'utilisation de goto
est considéré comme une mauvaise pratique (et à juste titre), mais en utilisant goto
que pour une mise en avant de sauter de l'structuré instructions de contrôle est généralement considéré comme OK, surtout si l'alternative est d'avoir plus de code compliqué.
For Each item In itemList
For Each item1 In itemList1
If item1.Text = "bla bla bla" Then
Goto end_of_for
End If
Next
Next
end_of_for:
Factice extérieure bloc
Do
For Each item In itemList
For Each item1 In itemList1
If item1.Text = "bla bla bla" Then
Exit Do
End If
Next
Next
Loop While False
ou
Try
For Each item In itemlist
For Each item1 In itemlist1
If item1 = "bla bla bla" Then
Exit Try
End If
Next
Next
Finally
End Try
Séparée de la fonction: Mettre les boucles à l'intérieur d'une fonction distincte, qui peut être clôturée avec return
. Cela peut vous obliger à passer beaucoup de paramètres, mais, en fonction du nombre de variables locales que vous utilisez à l'intérieur de la boucle. Une autre solution serait de mettre le bloc dans un multi-ligne lambda, car cela va créer une fermeture variables locales.
Variable booléenne: Cela pourrait rendre votre code un peu moins lisible, en fonction du nombre de couches de boucles imbriquées, vous avez:
Dim done = False
For Each item In itemList
For Each item1 In itemList1
If item1.Text = "bla bla bla" Then
done = True
Exit For
End If
Next
If done Then Exit For
Next
J’ai expérimenté avec taper « exit » pour quelques temps et remarqué cela a fonctionné et VB n’a pas m’engueuler. C’est une option, que je suppose, mais il a juste regardé mauvais.
Je pense que la meilleure option est similaire à celle partagée par Tobias. Simplement placer votre code dans la fonction et le faire revenir quand vous voulez sortir de vos boucles. Semble plus propre aussi.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.