【初心者Unity】foreach文を使って配列・List・ArrayListを楽々操作しよう!
はじめに
前回までの記事で、配列・Lsit・ArrayListについて細かく説明してきました。今回はそれらの持つ要素を「楽々」操作する方法をご紹介します。もちろん従来の方法通りfor文を使うことで対応も可能ですが少々面倒くさいですよね。。。今回ご紹介するforeach文は配列・List・ArrayListのために存在する条件文です。本記事を通して配列、List・ArrayListを「楽々」使いこなしていただければと思います。
for文を使って配列の各要素を出力する
早速foreach文の使い方の紹介といきたいところですが、まずはfor文のを使ってみましょう。for文と比べることでforeach文の便利さがより伝わるかと思います。
//配列「array」の定義 String[] array = { "aaa", "bbb", "ccc" }; //for文を使って各要素を出力 for(int i = 0; i < array.Length; i++){ Debug.Log( array[i] ); }
上の例では、for文中の初期化「int i = 0」と条件式「i < array.Length」によって、iは0から始まり、arrayの要素数である3の手前の2になるまで繰り返す、つまり、iの値が0,1,2と変化していき、合計3回繰り返すということが分かります。そして具体的な処理として「Debug.Log( array[i] )」があり、iの中に0,1,2がそれぞれ代入され、「Debug.Log(0)」、「Debug.Log(1)」、「Debug.Log(2)」という処理が走ることで配列「array」の要素である「aaa」、「bbb」、「ccc」がそれぞれ出力されます。 いかがでしょうか?文にするだけでも大変さが伝わってきますね。。。
foreach文を使って配列の各要素を出力する
続きましてforeach文を使って上の例と同じ処理を行いたいと思います。
//配列「array」の定義 String[] array = { "aaa", "bbb", "ccc" }; //foreach文を使って各要素を出力 foreach(String str in array){ Debug.Log( str ); }
上の例では、foreach文中の「in array」キーワードによって、配列「array」の要素数分つまり3回繰り返すということを示しています。また、同じくforeach文中の「String str」によって、繰り返し毎に配列「array」内の要素を一つ一つstrに代入していくことを示しています。そして具体的な処理として「Debug.Log( str )」があり、繰り返すごとにstrの中には配列「array」の要素が一つ一つ代入されているため、「aaa」、「bbb」、「ccc」がそれぞれ出力されます。
要するに配列「array」内の要素を一つ一つ取り出して「String str」に代入していき、要素全てを使いきったら繰り返し終了ということです。非常にシンプルで分かりやすいですよね。
おわりに
いかがでしょうか?配列・List・ArrayListを操作する場合、for文でもできますがforeachを使った方がより楽にできてかつ、可読性(読みやすさ)も上がることが実感していただけましたでしょうか?ぜひともみなさんforeach文を使いこなして快適なプログラミングライフをお過ごしください!