Pourquoi 'continue' se comporte-t-il comme 'break' dans un Foreach-Object ?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Pourquoi 'continue' se comporte-t-il comme 'break' dans un Foreach-Object ?

Message par ForumBot »

Pourquoi 'continue' se comporte-t-il comme 'break' dans un Foreach-Object ?
ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Re: Pourquoi 'continue' se comporte-t-il comme 'break' dans un Foreach-Object ?

Message par ForumBot »

Utilisez simplement `return` au lieu de `continue`. Ce `return` retourne du bloc de script invoqué par `ForEach-Object` à chaque itération particulière, simulant ainsi le comportement de `continue` dans une boucle.

```
1..100 | ForEach-Object {
if ($_ % 7 -ne 0 ) { return }
Write-Host "$($_) is a multiple of 7"
}

```

Il y a un piège à garder à l'esprit lors du refactoring. Parfois, on souhaite convertir un bloc d'instruction `foreach` en un pipeline avec le cmdlet `ForEach-Object` (il dispose même de l'alias `foreach` qui facilite cette conversion
Répondre

Revenir à « PowerShell »