前回は、C#の変数についてまとめました。
今回は、配列です!!
分かりやすいので、int型の配列を例として挙げます。
変数を列としてまとめたものが配列です。
配列がないと・・・
名前を付ける回数が増えて面倒くさい!
そしてアクセスも面倒くさい!
たとえば、1から3までの連続した値を扱いたいな~と思ったとします。
配列がないと、
int number1=1;
int number2=2;
.
.
.
としないといけません。面倒です。
が、配列だと1行で済みます!
ちなみに[]の中の数を配列のインデックスと言い、{}の中の値を要素と言います。
「numberの要素数はいくつ?」と聞かれたら、3つあるので「3」
なぜでしょう?
実行すると「ハンドルされていない例外とあります」
要素数は3個なんですからこう書けば、1,2,3と表示してくれそうなのに??
実は、配列やリストなど連続しているものは0から始まるのです!!
ですから、ここでも0から書かないといけませんでした。
「ハンドルされていない例外」とは、「え~3番目には何もないよ!!」と言っているわけです。
連続してるんだから、for分と相性が良さそうですね?
では試してみましょう!!
しかも、配列ということは連続して値が代入されているので並べ替えも楽々です!
例えば降順にしたい!!!
そんな時は
ラムダ式を使って楽々降順!!
上の図の黄色い線の部分はラムダ式といいます。
後で説明するから、「降順にしたいときはこうなんだな~」くらいに覚えておいてください。
更に配列を使う上で、注意してほしいところがあります。
int [] number = new int [ 3 ]{ 1,2,3};
それは [ 3 ] の中の 3 は無くても同じ動きをしてくれます。
なぜなら、numberの中に入れたいのは何か(int型)で入れたい要素の数(今回は3つ)とわかっているからです。
なので、消しましょう!!
では、もし { 1,2,3};がなく、ただ
int [] number = new int [ 3 ];としたいときに、要素の数をあらわす3がないとどうでしょうか?
これはエラーになります。
VisualStudioでエラーを見てみると、CS1586:配列を作成するには、配列のサイズまたは配列の初期化子を指定する必要があります。と出ます。
まさしく、要素を入れるか、ずばり要素の数を言ってねとということです。
更に[3]の中を直値ではなく変数にしておくと、もし後々「変数の数を変えたいな」と思ったときに、変更箇所が1つ(下のまとめのint index=3のところの3の数を変えるだけ)で済むというメリットがあります。