Jak ponownie uruchomić pętlę foreach
w języku C#?Uruchom ponownie pętlę foreach w C#?
Na przykład:
Action a;
foreach(Constrain c in Constrains)
{
if(!c.Allows(a))
{
a.Change();
restart;
}
}
restart
tutaj jest jak continue
lub break
ale restartuje foreach od początku To jak ustawienie licznika od a for
pętla do 0 ponownie ..
Czy to możliwe w C#?
Edit: Chciałbym podziękować zarówno Mehrdad Afshari i Mahesh Velaga pozwoliłeś mi odkryć błąd (indeks = 0) w mojej obecnej implementacji, które nie zostały odkryte inaczej ..
To może być interesujące wiedzieć, gdzie dokładnie trzeba użyć tego rodzaju restartu. Używasz listy zmiennych obiektów w jakimś algorytmie. Czy możesz podzielić się rzeczywistym problemem, który próbujesz rozwiązać? –
Rzeczywisty problem: niektórzy agenci próbują się poruszać w środowisku. W env są bariery. Po tym, jak każdy agent zdecyduje, co oznacza następne działanie, środowisko sprawdza, czy agent przekroczy barierę, jeśli tak, środowisko pozwala agentowi wybrać inne działanie; i tutaj, gdzie muszę ponownie uruchomić pętlę foreach, aby ponownie sprawdzić wszystkie bariery z nowo wybraną akcją. Mam nadzieję, że to wyjaśnia ... – Betamoo