FC2ブログ
    10 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 12

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】条件を満たしたら多重ループから抜けるとき 

    こんにちは。
    大坂です。

    多重ループを書いたときに条件を満たしたら全部のループから抜けたい時があります。
    いつも大体こんな感じで書いてます。
    // ループを抜ける用のフラグ
    bool isEnd = false;
    for (int i = 0; i < 10; i++)
    {
    for (int j = 0; j < 10; j++)
    {
    if (i * j >= 50)
    {
    // 条件を満たしたらフラグを立てる
    isEnd = true;
    break;
    }
    }
    // フラグが立っていたら外のループも抜ける
    if (isEnd)
    {
    break;
    }
    }
    Debug.Log("End");

    まぁ2重くらいならこれでもいいんですが、こういう時はgoto文が便利に使えそうです。
    for (int i = 0; i < 10; i++)
    {
    for (int j = 0; j < 10; j++)
    {
    if (i * j >= 50)
    {
    // ENDラベルに飛ぶ
    goto END;
    }
    }
    }
    // ENDラベル
    END:
    Debug.Log("End");

    これでも同じ結果が得られますね。
    好みはわかれそうですがさらに深いループにしたときなんかは便利かもしれませんね。
    まぁそんなに深い多重ループにすることはないと思いますが・・・。
    ではまたノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0