【Unity】C#の基本構文『foreach』

 

『foreach』文とは

コレクションのすべての要素を1つ1つ取得するときに使用する。

 

 

もくじ

1.基本構文
2.具体例
3.Unityでの使用例【子オブジェクトをすべて取得する】

 

 

基本構文

 

スクリプト

※プログラミングは基本的に、すべて半角英数字で記述します。上記では便宜上全角を使用していることをご了承ください。

 

スクリプトの解説

コレクションの要素を1つ1つ変数に格納して、要素の数だけループが行われます。1つ目の要素を変数に入れて1周し、2つ目の要素を変数に入れて1周し・・・というように、要素の数だけループが行われます。

 

コレクションには、配列やリスト、辞書などが使用できます。

 

“continue;”を記述することで、

それ以降の処理を無視して、次のループへと進むことができます。

 

“break;”を記述することで、

foreach文を抜ける(終了させる)ことができます。

 

 

具体例

それでは具体例を見てみましょう。

 

スクリプト

 

スクリプトの解説

int型の配列arrayを用意し、foreach文で配列の要素を1つ1つコンソールへと書き出す、という処理を行っています。

arrayの1つ目の要素であるarray[0]を、定義した変数 i に代入して、foreach文の中に入ります。i の値は0であるので、if文での条件分岐はスルーされ、Consoleに i の値である0が表示されます。

続いて、arrayの2つ目の要素であるarray[1]を、i に代入して、2周目に突入します。このようにarrayの要素1つ1つを読みだして、ループが行われます。

最終的にConsoleに出力されるのは「0,1」となります。

 

 

Unityでの使用例

子オブジェクトをすべて取得する処理です。

 

スクリプト

 

スクリプトの解説

parentObjの子オブジェクトの名前を列挙するスクリプトになっています。

配列の要素を取得するのであれば、for文よりもforeach文を使うほうが簡単ですね。