【C#入門】C#で1次元配列と多次元配列を作成する
C#で配列を使いこなせると、実装の幅がすごく広がります。
配列とは、同じ型のデータを並べたものであり、1次元配列と多次元配列があります。
この記事では配列とはなにか、配列を使うと何がどう便利になり、どう実装の幅が広がるのかを紹介します。
- プログラマー
- プログラミングを便利にするものに、配列というのがあると聞きました。C#での使い方を教えてください。
- プロジェクト
リーダー - 配列を使いこなせると、複数のデータを扱うのがすごく楽になります。内容を一緒に確認しましょう!
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次元以上の配列が使用可能です。
- プログラマー
- 配列を使用すると、複数のデータを扱うのが簡単になりますね。
- プロジェクト
リーダー - そうですね。複数のデータを扱う時は配列を使うと簡単にできるので、1次元配列、多次元配列を共に理解して使っていきましょう。
配列を使うと、複数のデータを扱うのが簡単になる
1次元配列、多次元配列は複数のデータを扱う際に、実装が簡単にできます。
開発の現場では、同じ種類の複数のデータを扱うことは多いので、配列の使い方をしっかり理解して実装の幅を広げていきましょう。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
C#新着案件New Job
-
システム開発/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(新宿駅) -
システム開発/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(新宿駅) -
デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円神奈川県横浜市(桜木町駅) -
デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円神奈川県横浜市(桜木町駅) -
基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(西新宿駅) -
基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(西新宿駅)