多次元配列とジャグ配列
この頃友人とC#についていろいろ話す機会があり、そこで躓くことが多々あったので、
今回、次回、含めて5回くらいは、C#の基礎について書いていきたいと思います。
どうか、お付き合いください。
基本的に、おいしいとこばっかり食べて、基礎などの大切な部分をやって来ていなかった『つけ』がやってきただけなので、何とも恥ずかしい記事ではございますが、、、
さて、ジャグ配列と多次元配列ですが、自分自身どこでつまずいたかといいますと、
ズバリ、『言葉』です。コードが目の前にあれば、「あーぁ、いつものあれでしょ」となるのですが。
1、2、多次元配列は、『箱が横に並んでいる感じ』や『マス目のように並んでいる感じ』、『立体の感じ』のように説明されることが多く、思いのほか想像しやすいと思います。
ちなみに、コードは以下のようになります。
string[] ary_1 = new string[] { "春", "夏", "秋", "冬" }; string[,] ary_2 = new string[,] { { "春", "はる" }, { "夏", "なつ" }, { "秋", "あき" }, { "冬", "ふゆ" } }; string[, ,] ary_3 = new string[,,] { { { "春", "はる", "しゅん" }, { "夏", "なつ", "か" } }, { { "秋", "あき", "しゅう" }, { "冬", "ふゆ", "とう" } } };
では、ジャグ配列はといいますと、
『配列の配列』と説明されることが多く、特徴としては、
要素の長さが異なる配列なんです。
なぜ、そんなことができるかといいますと、配列の中に配列が入っているのです。
で、コードはこうなります。
string[][] ary_4 = new string[][]{ new string[]{"春","はる","しゅん","げ","spring"}, new string[]{"夏", "なつ","か","summer"}, new string[]{ "秋", "あき", "しゅう","autumn","fall" }, new string[]{ "冬", "ふゆ", "とう" ,"かず","とし","winter"} };
どことなく多次元配列に似ているような気がしますね。
このように、配列の中に配列を書き、長さの異なる配列をジャグ配列といいます。
使い方などはまた時間のある時に。。。
ではでは~