0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

配列について

Last updated at Posted at 2020-12-30

前回は、C#の変数についてまとめました。
今回は、配列です!!
分かりやすいので、int型の配列を例として挙げます。
スクリーンショット 2020-12-30 081820.png

変数を列としてまとめたものが配列です。
配列がないと・・・
名前を付ける回数が増えて面倒くさい!
そしてアクセスも面倒くさい!

たとえば、1から3までの連続した値を扱いたいな~と思ったとします。
配列がないと、
int number1=1;
int number2=2;
.
.
.

としないといけません。面倒です。
が、配列だと1行で済みます!
スクリーンショット 2020-12-30 083820.png
ちなみに[]の中の数を配列のインデックスと言い、{}の中の値を要素と言います。
「numberの要素数はいくつ?」と聞かれたら、3つあるので「3」

ではVisualStudioで表示してみましょう!
スクリーンショット 2020-12-30 090740.png

なぜでしょう?
実行すると「ハンドルされていない例外とあります」
要素数は3個なんですからこう書けば、1,2,3と表示してくれそうなのに??

実は、配列やリストなど連続しているものは0から始まるのです!!
ですから、ここでも0から書かないといけませんでした。
「ハンドルされていない例外」とは、「え~3番目には何もないよ!!」と言っているわけです。
スクリーンショット 2020-12-30 093203.png

連続してるんだから、for分と相性が良さそうですね?
では試してみましょう!!
スクリーンショット 2020-12-30 094249.png
しかも、配列ということは連続して値が代入されているので並べ替えも楽々です!
例えば降順にしたい!!!
そんな時は
ラムダ式を使って楽々降順!!

ラムダ式結果あり2.png

上の図の黄色い線の部分はラムダ式といいます。
後で説明するから、「降順にしたいときはこうなんだな~」くらいに覚えておいてください。

では、次は昇順にしてみます。
array_sort結果あり.png

更に配列を使う上で、注意してほしいところがあります。
int [] number = new int [ 3 ]{ 1,2,3};
それは [ 3 ] の中の 3 は無くても同じ動きをしてくれます。
なぜなら、numberの中に入れたいのは何か(int型)で入れたい要素の数(今回は3つ)とわかっているからです。
なので、消しましょう!!
では、もし { 1,2,3};がなく、ただ
int [] number = new int [ 3 ];としたいときに、要素の数をあらわす3がないとどうでしょうか?
これはエラーになります。
配列のNG.png

VisualStudioでエラーを見てみると、CS1586:配列を作成するには、配列のサイズまたは配列の初期化子を指定する必要があります。と出ます。
まさしく、要素を入れるか、ずばり要素の数を言ってねとということです。
更に[3]の中を直値ではなく変数にしておくと、もし後々「変数の数を変えたいな」と思ったときに、変更箇所が1つ(下のまとめのint index=3のところの3の数を変えるだけ)で済むというメリットがあります。

配列のまとめ.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?