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