【Unity入門】foreachで配列の要素の反復処理をする方法

2021年10月8日

foreachとは

foreachとは配列の要素の反復処理を行うものです。

指定した配列の全ての要素に処理を加えられます。

foreachは

foreach ( 変数 in 配列)
{
    処理
}

と記述します。

実際に使ってみる

準備

それでは、foreachを使ってみましょう。

まずは、以前作成した、『C# Basics』というプロジェクトを開いてください。

『C# Basics』を開いたら、foreachを使うシーンを作りましょう。

Scenesフォルダの中に作成します。

ProjectウィンドウでScenesフォルダを選択しましょう。

選択した状態で『+』ボタンを押しましょう。

色々と出てくるので、『Scene』をクリックしましょう。

すると、Scenesフォルダの中に新しくSceneが作成されます。

Sceneの名前を『Foreach』に変更しておきましょう。

今回は『Foreach』の中で配列を作りたいので、Sceneを移動します。

『Foreach』をダブルクリックしましょう。

すると、Sceceを移動することができます。

Hierarchyウィンドウを見ると、現在のSceneが『Foreach』に変わっていますね。

次にforeachを使うためのスクリプトを作っておきましょう。

Scriptsフォルダを選択してください。

選択した状態で『+』ボタンを押しましょう。

色々と出てくるので『C# Scripts』を選択します。

すると、新しくスクリプトが作成されます。

名前が確定してしまう前に『ForeachScript』と変更します。

名前を変更したら、スクリプトを編集していきましょう。

ForeachScriptをダブルクリックしてください。

すると、VIsual Studioが起動して、ForeachScriptを編集できるようになります。

スクリプトはScene上にあるオブジェクトに追加することで呼び出されるので、適当に追加しておきましょう。

ForeachScriptをMain Cameraにドラッグ&ドロップします。

すると、Main CameraにForeachScriptが追加されます。

foreachを使ってみる

それでは、実際にforeachを使ってみましょう。

今回は、1 ~ 5までの数値が格納された配列を作って、その要素をコンソールに出力してみようと思います。

まずは1 ~ 5までの数値が格納された配列を作りましょう。

Start関数の中に

int[] numbers = { 1, 2, 3, 4, 5 };

と記述します。

コードについて説明しておきましょう。

このコードは、int型の配列

numbersを作って、

初期値として1 ~ 5までの数値を格納するという内容です。

次にforeachを使って、この配列の要素を全てコンソールに出力してみましょう。

先ほどの記述の下に

foreach(int number in numbers)
{
    Debug.Log(number);
}

と記述しましょう。

コードについて説明しておきます。

foreachを使うと、

ループするたびに『in』の

後ろの要素が取り出されます。

今回だと、numbersという

配列の要素が取り出されます。

取り出された要素は、ループするたびにint型の変数numberに格納され

Debug.Logでコンソールに出力します。

一回目のループでは配列の最初の要素である1が

numberに格納され、

Debug.Logでコンソールに1と出力される。

2回目のループでは次の要素である2が

numberに格納され、

Debug.Logでコンソールに2と出力される。

といった繰り返しが配列の最後の要素、今回であれば5まで続きます。

この状態で再生すると、1 ~ 5までの数字が順にコンソールに出力されるずです。

実際にそうなるのか再生して確かめてみましょう。

スクリプトを保存してUnityエディタに戻りましょう。

Unityエディタに戻ったら、再生ボタンを押しましょう。

コンソールが小さいので、拡大しましょう。

コンソールをクリックします。

すると、予想通りコンソールには1 ~ 5までの数字が順に出力されていますね。

このようにforeachを使えば、配列の要素の反復処理を行うことができます。