多次元配列とジャグ配列

 この頃友人と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"} 
};

 どことなく多次元配列に似ているような気がしますね。

このように、配列の中に配列を書き、長さの異なる配列をジャグ配列といいます。

 

使い方などはまた時間のある時に。。。

 

ではでは~