プログラミングでは、同じ種類のデータをたくさん扱いたい場面がよくあります。例えば、「クラス全員のテストの点数」や「1週間の最高気温」などです。そんなときに役立つのが配列です。
この記事では、C#で複数のデータを効率的に管理するための「配列」の基本的な使い方を、初心者の方にも分かりやすく解説します。
配列とは?同じ型のデータを入れる連結ボックス
配列とは、同じ型のデータを複数まとめて、一つの変数として扱えるようにしたものです。
イメージとしては、通し番号が振られた「連結ボックス」のようなものです。それぞれのボックスには、int
型ならint
型のデータだけ、string
型ならstring
型のデータだけを入れることができます。
これにより、たくさんの変数を一つひとつ用意する手間が省け、コードが非常にスッキリします。
配列の作り方(宣言と初期化)
配列を使うには、まず「こういう配列を作ります」と宣言し、初期化(最初の値を入れること)をします。
C#での配列の書き方はいくつかありますが、ここでは最も一般的で分かりやすい方法から紹介します。
値を指定して配列を作成する (推奨)
最もよく使われるのが、配列に入れる値を直接 {}
の中に書いて作成する方法です。
記法:
型[] 変数名 = {値1, 値2, 値3, ...};
サンプルコード:
// 5人のテストの点数を格納するint型の配列
int[] testScores = { 85, 92, 78, 95, 88 };
// 3つの曜日を格納するstring型の配列
string[] weekDays = { "月", "火", "水" };
この書き方が最もシンプルで、直感的に分かりやすいためおすすめです。
配列のサイズ(要素数)を指定して作成する
先に「データが5個入る箱」のように、配列のサイズだけを決めて作成する方法もあります。この場合、各要素はその型の初期値(int
なら0
、string
ならnull
)で自動的に埋められます。
記法:
型[] 変数名 = new 型[データの個数];
サンプルコード:
// 5個の整数を格納できるint型の配列を作成
// 中身はすべて0で初期化される -> { 0, 0, 0, 0, 0 }
int[] userAges = new int[5];
その他の初期化方法
古いコードや特定の場面では、以下のような書き方を見ることもあります。基本的には、最初に紹介した {}
だけを使う方法が最も簡潔です。
// newキーワードを明示的に書く方法
int[] scores_A = new int[] { 85, 92, 78, 95, 88 };
// サイズと値を両方指定する方法(現在はあまり使われない)
int[] scores_B = new int[5] { 85, 92, 78, 95, 88 };
配列の値を取り出す・書き換える方法
配列の中の各データには、インデックスと呼ばれる番号が 0
から順番に割り振られています。このインデックスを使うことで、特定の値にアクセスできます。
重要なポイント:インデックスは 0
から始まります。 5個のデータが入った配列の場合、インデックスは 0, 1, 2, 3, 4
となります。
値の取り出し方
変数名[インデックス]
という形で、指定した場所の値を取り出すことができます。
サンプルコード:
int[] testScores = { 85, 92, 78, 95, 88 };
// インデックス0番(先頭)の値を取り出す
int firstScore = testScores[0];
Console.WriteLine(firstScore); // 85
// インデックス2番(3番目)の値を表示する
Console.WriteLine(testScores[2]); // 78
// 最後の値を取り出す(5個なのでインデックスは4)
int lastScore = testScores[4];
Console.WriteLine(lastScore); // 88
値の書き換え方
取り出すときと同じようにインデックスを指定し、代入演算子 =
を使って新しい値を上書きできます。
int[] testScores = { 85, 92, 78, 95, 88 };
// インデックス1番(2番目)の値を 90 に変更する
testScores[1] = 90;
// 変更後の値を表示して確認
Console.WriteLine(testScores[1]); // 90
まとめ
今回は、C#の配列の基本について解説しました。
- 配列は、同じ型のデータをまとめて管理するための仕組み。
int[] scores = { 85, 92, 78 };
のように、{}
を使って簡単に作成できる。- 配列の各要素にはインデックスという番号が振られている。
- インデックスは
0
から始まるという点が非常に重要。 scores[0]
のようにインデックスを指定して、値の読み書きを行う。
配列は、繰り返し処理などと組み合わせることで真価を発揮します。まずは配列の作成と値のアクセスに慣れるところから始めてみましょう。