ja-JP/about_Foreach.help.txt

TOPIC
    about_Foreach

簡単な説明
    コレクションの各要素を順に処理する foreach 文を説明します。
    (PSHelpJaJP 日本語パッチ版)

詳細な説明
    foreach 文は、配列やコレクションの要素を 1 つずつ取り出して、同じ
    コードブロックを繰り返し実行します。要素は指定した変数に格納されます。

    なお、foreach は「言語のキーワード(文)」です。パイプラインで使う
    ForEach-Object コマンドレット(別名 foreach, %)とは異なります。
    両者の違いは末尾の「注意」を参照してください。

構文

    foreach ($要素 in $コレクション)
    {
        <各要素に対して実行するコード>
    }



    $names = "佐藤", "鈴木", "高橋"

    foreach ($name in $names)
    {
        "こんにちは、$name さん"
    }
    # こんにちは、佐藤 さん
    # こんにちは、鈴木 さん
    # こんにちは、高橋 さん

    # ハッシュテーブルを列挙する例
    $ages = @{ 佐藤 = 30; 鈴木 = 25 }
    foreach ($entry in $ages.GetEnumerator())
    {
        "$($entry.Key) は $($entry.Value) 歳"
    }

ループ制御

    - break : ループ全体を即座に終了する
    - continue : 現在の要素をスキップして次の要素へ進む

注意

    foreach 文 と ForEach-Object コマンドレットの主な違い:

    - foreach 文は、処理を始める前にコレクション全体をメモリに読み込みます。
      件数が確定している配列の処理に向き、一般に高速です。
    - ForEach-Object は、パイプラインから流れてくる要素を 1 つずつ処理します。
      巨大な入力やストリーム処理に向き、メモリ効率に優れます。

        1..3 | ForEach-Object { "値: $_" }

関連項目
    about_For
    about_While
    about_Do
    ForEach-Object