102 votes

Comment sortir de ForEach-Object dans PowerShell

J'ai le code suivant :

$project.PropertyGroup | Foreach-Object {
    if($_.GetAttribute('Condition').Trim() -eq $propertyGroupConditionName.Trim()) {
        $a = $project.RemoveChild($_);
        Write-Host $_.GetAttribute('Condition')"a été supprimé.";
    }
};

Question #1 : Comment puis-je sortir de ForEach-Object ? J'ai essayé d'utiliser "break" et "continue", mais cela ne fonctionne pas.

Question #2 : J'ai découvert que je peux modifier la liste dans une boucle foreach... Nous ne pouvons pas le faire de cette manière en C#... Pourquoi PowerShell nous permet-il de le faire ?

-1voto

Thomas Giboney Points 7

Réponse à la question #1 - Vous pourriez simplement avoir votre instruction if cesser d'être TRUE

$project.PropertyGroup | Foreach {
    if(($_.GetAttribute('Condition').Trim() -eq $propertyGroupConditionName.Trim()) -et !$FinishLoop) {
        $a = $project.RemoveChild($_);
        Write-Host $_.GetAttribute('Condition')"a été supprimée.";
        $FinishLoop = $true
    }
};

Prograide.com

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.

Powered by:

X