📜  PowerShell Foreach循环(1)

📅  最后修改于: 2023-12-03 15:03:51.175000             🧑  作者: Mango

PowerShell Foreach循环

在PowerShell中,Foreach循环是用于迭代集合中每个元素的控制结构。它可以帮助程序员在执行重复操作时,提高代码的可读性和效率。

语法

下面是Foreach循环的语法结构:

Foreach (<item> in <collection>)
{
    <statement>
}
示例

以下是一个简单的示例,使用Foreach循环获取数组中的每个元素并输出到控制台中:

$fruits = @("apple", "banana", "orange", "watermelon")

Foreach ($fruit in $fruits) 
{
    Write-Host $fruit
}

输出结果:

apple
banana
orange
watermelon
集合

Foreach循环中,集合可以是数组、哈希表或其他类型。我们来看一个使用哈希表的示例:

$students = @{
    "Tom" = 80
    "Jack" = 85
    "Alice" = 90
}

Foreach ($name in $students.Keys) 
{
    Write-Host "$name's score is $($students[$name])"
}

输出结果:

Tom's score is 80
Jack's score is 85
Alice's score is 90
引用对象属性

使用Foreach循环可以方便的遍历数组中的对象属性。例如:

class Person {
    [string]$Name
    [int]$Age
}

$persons = @(
    [Person]@{Name = "Tom"; Age = 20},
    [Person]@{Name = "Jack"; Age = 25},
    [Person]@{Name = "Alice"; Age = 30}
)

Foreach ($person in $persons) 
{
    Write-Host "$($person.Name) is $($person.Age) years old."
}

输出结果:

Tom is 20 years old.
Jack is 25 years old.
Alice is 30 years old.
循环控制

Foreach循环中,可以使用breakcontinue关键字来控制循环的执行。

例如,以下示例中,如果$fruit变量的值为"orange",则跳过该项,继续执行下一项。

$fruits = @("apple", "banana", "orange", "watermelon")

Foreach ($fruit in $fruits) 
{
    if ($fruit -eq "orange") 
    {
        continue
    }
    Write-Host $fruit
}

输出结果:

apple
banana
watermelon
总结

PowerShellForeach循环可以帮助程序员高效地处理数组和哈希表中的元素,还可以遍历对象的属性。掌握Foreach循环的使用可以极大地提高PowerShell脚本编写的效率。