
【C#入門】C#で1次元配列と多次元配列を作成する
C#で配列を使いこなせると、実装の幅がすごく広がります。
配列とは、同じ型のデータを並べたものであり、1次元配列と多次元配列があります。
この記事では配列とはなにか、配列を使うと何がどう便利になり、どう実装の幅が広がるのかを紹介します。
- PG
- プログラミングを便利にするものに、配列というのがあると聞きました。C#での使い方を教えてください。
- PL
- 配列を使いこなせると、複数のデータを扱うのがすごく楽になります。内容を一緒に確認しましょう!
目次
C#の配列でできること
配列とは同じ型のデータを並べたものです。
例えば、月ごとの日数を1月から並べると、以下のようになります。
1 |
31,28,31,30,31,30,31,31,30,31,30,31 |
1月は31日、2月は28日(この例ではうるう年ではないとします)、3月は31日、というように月ごとの日数は数値型のデータを並べたものになります。
また他にも、月ごとの英語を1月から並べると、以下のようになります。
1 |
January,February,March,April,May,June,July,August,September,October,November,December |
1月はJanuary、2月はFebruary、3月はMarchというように、月ごとの英語は文字列型のデータを並べたものになります。
上記のように、データが1列に並ぶ配列を1次元配列と呼びます。
続いて、上記の月ごとの英語に略称も付けてみます。
1 2 3 4 5 6 7 8 9 10 11 12 |
January, Jan. February, Feb. March, Mar. April, Apr. May, May June, Jun. July, Jul. August, Aug. September, Sep. October, Oct. November, Nov. December, Dec. |
1つの月ごとに英語と略称を並べています。1月の場合は” January, Jan.”で1つの1次元配列となります。
先ほどの1次元配列は横1列でしたが、そこに各月分の縦の並びが増えています。
これが多次元配列、上記の例は2次元配列となります。
配列の次元が多くなればなるほど、扱えるデータ量が増えますが、3次元以上になると分かりづらいコードになってしまうことも確かです。
実際に開発をしていく際には、1次元配列と2次元配列を理解することが重要です。
C#での配列の作成方法
1次元配列の例
まず、1次元配列の作成方法を紹介します。
先ほど、上記で記載した月ごとの日数を表す配列を作成します。
1 2 |
int[] days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; Console.WriteLine("3月の日数は:" + days[2]); |
実行すると、結果は以下のようになります。
配列は変数を宣言する際に、型に対して[]を付けます。
上記の例だと、int型の配列にしたいので、int[]としています。
配列として使用する値は、{}で囲ったうえで、カンマ区切りで値を定義します。
配列の値を使用する際には、days[2]という形でインデックスを指定します。
インデックスとは[]内に入力する、配列の位置を指定するもので、0から始まります。
そのため、上記の例では3月のデータを指定していますが、days[2]と指定しています。
多次元配列の例
続いて、多次元配列の作成方法です。
本記事では2次元配列の例を紹介します。
先ほど、上記で記載した月ごとの英語と略称を表す配列を作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
string[,] months = { {"January", "Jan."}, {"February", "Feb."}, {"March", "Mar."}, {"April", "Apr."}, {"May", "May"}, {"June", "Jun."}, {"July", "Jul."}, {"August", "Aug."}, {"September", "Sep."}, {"October", "Oct."}, {"November", "Nov."}, {"December", "Dec."} }; Console.WriteLine("4月の英語は:" + months[3, 0]); Console.WriteLine("5月の略称は:" + months[4, 1]); |
実行すると、結果は以下のようになります。
多次元配列の場合は変数を宣言する際に、型に対して[,]を付けます。
上記の例では、string型の配列にしたいので、string[,]としています。
2次元配列として使用する場合は、値の定義を{}を二重で囲っています。
2次元配列の値を使用する際には、days[3,0]という形でインデックスを指定します。
3次元以上の配列を使用したい場合は、値を定義する際の{}の数と値を参照する際のインデックスの指定を[3,0,0]というように増やしていくことで3次元以上の配列が使用可能です。
- PG
- 配列を使用すると、複数のデータを扱うのが簡単になりますね。
- PL
- そうですね。複数のデータを扱う時は配列を使うと簡単にできるので、1次元配列、多次元配列を共に理解して使っていきましょう。
配列を使うと、複数のデータを扱うのが簡単になる
1次元配列、多次元配列は複数のデータを扱う際に、実装が簡単にできます。
開発の現場では、同じ種類の複数のデータを扱うことは多いので、配列の使い方をしっかり理解して実装の幅を広げていきましょう。