ブルーノのC#プログラミング & unity勉強日記

プログラミング素人、ブルーノの自主勉強ノートです。他のプログラミングを勉強したい方の助けになれば幸いです。その他趣味の雑記もしていきたいです

ジャグ配列

みなさんこんばんは

気づいたらハンターハンターの記事ばかり眺めて一日が終わってしまっているブルーノです。冨樫先生の作品は分かりやすい頭脳戦って感じで私は大好きです。今回はジャグ配列という特殊な配列についてやっていきたいと思います。

 

ジャグ配列とは?

前回、前々回と配列について扱ってきました。そして中でも前回の2次元配列は2行の配列ということを学びましたが、宣言の仕方から少し疑問に思うことはありませんでしたか?

もし要素数がどの行も同じならば2次元でも良いですが、例えば1クラスの人数は学年を通して全クラス同じとは限りません。実際私の小学校6年の時のクラスは30人でしたがそれ以外のクラスは31人でした。その場合、多次元配列だとうまく宣言できませんね。そこで今回のジャグ配列が使えます。この配列は行ごとに要素数を指定できるのです。以下のように宣言します。

ジャグ配列の宣言の仕方

データ型 配列名;

例)string MyClass;

 

そして次に2次元目をnew演算子を使って生成します。

Myclass = new string[2] ;

ここを[3]にすれば3次元目まで生成されます。

また例によって宣言と要素数を同時に宣言しちゃいましょう

string MyClass = new string[2] ;

そして2行まで作ったらそれぞれの配列の要素を生成します

MyClass[0] = new string[30];

MyClass[1] = new string[31];

 

これで要素数30の配列と31の配列を含む2次元配列MyClassができました。なんだか多次元をいちいち宣言するよりもこちらの方が柔軟でいい気がしますね。アクセスの仕方はMyclass[1次元目] [2次元目]のようにアクセスします。さすがに30人分考えるわけには行かないので今回は組むのをやめておきます。

 

いかがでしたでしょうか。実際これだけあれば普通の多次元配列はいらないのでは?と思いました。しかし、ある以上は何か必要性があとで出てくるはずです。もしくは何か知ってる方がこれをみたら是非指摘してください。