Skip to content

第6章 配列

この章では、複数の値をまとめて管理するための 配列 を学習します。

これまでの章では、1つの値を1つの変数で管理してきました。

int score1 = 80;
int score2 = 75;
int score3 = 90;

このように、扱う値が少ないうちは問題ありません。

しかし、点数が10件、100件、1000件と増えた場合、次のように変数を1つずつ用意するのは現実的ではありません。

int score1;
int score2;
int score3;
int score4;
int score5;
// ...

このようなときに、複数の値を1つのまとまりとして扱えるのが 配列 です。

配列を使うと、複数の点数、社員名、商品価格などをまとめて管理できます。


この章でできるようになること

Section titled “この章でできるようになること”

この章を終えると、次のことができるようになります。

  • 配列とは何かを説明できる
  • 同じ型の複数の値を配列で管理できる
  • 配列を宣言し、初期化できる
  • 配列の各要素にアクセスできる
  • 配列のインデックスが0から始まることを説明できる
  • for 文を使って配列の要素を順番に処理できる
  • Length を使って配列の要素数を取得できる
  • 初期化を伴わない配列を作成し、後から値を代入できる
  • foreach 文を使って配列の要素を順番に取り出せる
  • 2次元配列の基本を説明できる
  • 配列で起きやすい範囲外アクセスのエラーを理解できる

項目内容
開発環境Visual Studio 2022
プロジェクト種類コンソール アプリ
対象フレームワーク.NET 8
プロジェクト名Chapter06_Array

作業を始める前に、次の内容を確認してください。

  • Visual Studio 2022でコンソールアプリを作成できる
  • .NET 8.0 を選択できる
  • intstring の変数を作成できる
  • for 文を使って指定回数の繰り返しができる
  • Console.ReadLineint.Parse を使える
  • Console.WriteConsole.WriteLine の違いを説明できる
  • 第5章の内容をGitに提出済みである

まず、5人分の点数から平均点を求めるプログラムを考えます。

配列を使わない場合、次のように書けます。

using System;
class Program
{
static void Main()
{
int score1 = 80;
int score2 = 75;
int score3 = 90;
int score4 = 68;
int score5 = 85;
int total = score1 + score2 + score3 + score4 + score5;
double average = (double)total / 5;
Console.WriteLine($"合計点:{total}");
Console.WriteLine($"平均点:{average}");
}
}

実行結果:

合計点:398
平均点:79.6

このコードは動作します。

しかし、点数が増えると変数も増えます。

score1
score2
score3
score4
score5
...

このように、似た役割の変数が増える場合は、配列を使うと管理しやすくなります。


配列を使うと、複数の値を1つの変数名でまとめて扱えます。

using System;
class Program
{
static void Main()
{
int[] scores = { 80, 75, 90, 68, 85 };
int total = scores[0] + scores[1] + scores[2] + scores[3] + scores[4];
double average = (double)total / 5;
Console.WriteLine($"合計点:{total}");
Console.WriteLine($"平均点:{average}");
}
}

実行結果:

合計点:398
平均点:79.6

次の部分が配列です。

int[] scores = { 80, 75, 90, 68, 85 };

これは、int 型の値を複数持つ配列を作成しています。


配列は、同じ型の値を順番に並べたものです。

scores
インデックス 0 1 2 3 4
値 80 75 90 68 85

配列の各値には、番号が付いています。

この番号を インデックス といいます。

C#の配列のインデックスは、0 から始まります。

1番目の要素 → scores[0]
2番目の要素 → scores[1]
3番目の要素 → scores[2]

配列の要素を取り出すには、次のように書きます。

scores[0]

これは、scores 配列の0番目の要素を表します。

次のコードを入力して実行してください。

using System;
class Program
{
static void Main()
{
int[] scores = { 80, 75, 90, 68, 85 };
Console.WriteLine(scores[0]);
Console.WriteLine(scores[1]);
Console.WriteLine(scores[2]);
}
}

実行結果:

80
75
90

エラーになる例:範囲外のインデックス

Section titled “エラーになる例:範囲外のインデックス”

次のコードは実行時にエラーになります。

int[] scores = { 80, 75, 90, 68, 85 };
Console.WriteLine(scores[5]);

scores 配列には、5つの要素があります。

しかし、インデックスは 0 から始まるため、使える番号は 0 から 4 までです。

要素数:5
使えるインデックス:0, 1, 2, 3, 4

scores[5] は存在しない要素を参照しているため、エラーになります。

注意

配列では、要素数と最後のインデックスを混同しやすいです。

要素数が5の場合、最後のインデックスは4です。


6-2 配列とfor文の繰り返し処理

Section titled “6-2 配列とfor文の繰り返し処理”

配列は、繰り返し処理と組み合わせることで便利になります。

次のコードでは、for 文を使って配列の点数を合計します。

using System;
class Program
{
static void Main()
{
int[] scores = { 80, 75, 90, 68, 85 };
int total = 0;
for (int i = 0; i < 5; i++)
{
total += scores[i];
}
double average = (double)total / 5;
Console.WriteLine($"合計点:{total}");
Console.WriteLine($"平均点:{average}");
}
}

実行結果:

合計点:398
平均点:79.6

次の部分に注目してください。

for (int i = 0; i < 5; i++)
{
total += scores[i];
}

i の値は、次のように変化します。

i = 0
i = 1
i = 2
i = 3
i = 4

そのため、次の要素を順番に処理できます。

scores[0]
scores[1]
scores[2]
scores[3]
scores[4]

先ほどのコードでは、配列の要素数を 5 と直接書いていました。

for (int i = 0; i < 5; i++)

しかし、配列の要素数が変わった場合、この 5 も修正しなければなりません。

そこで、配列の要素数を取得する Length を使います。

using System;
class Program
{
static void Main()
{
int[] scores = { 80, 75, 90, 68, 85 };
int total = 0;
for (int i = 0; i < scores.Length; i++)
{
total += scores[i];
}
double average = (double)total / scores.Length;
Console.WriteLine($"合計点:{total}");
Console.WriteLine($"平均点:{average}");
}
}

実行結果:

合計点:398
平均点:79.6

Length を使うと、配列の要素数が変わっても対応しやすくなります。

int[] scores = { 80, 75, 90, 68, 85, 92, 77 };

このように点数を増やしても、for 文を修正する必要がありません。

for (int i = 0; i < scores.Length; i++)

配列を扱うときは、固定の数値ではなく、できるだけ Length を使いましょう。


数値だけでなく、文字列の配列も作れます。

using System;
class Program
{
static void Main()
{
string[] employeeNames = { "山田", "佐藤", "鈴木", "田中" };
for (int i = 0; i < employeeNames.Length; i++)
{
Console.WriteLine(employeeNames[i]);
}
}
}

実行結果:

山田
佐藤
鈴木
田中

配列のインデックスは0から始まりますが、画面表示では1番から表示したい場合があります。

using System;
class Program
{
static void Main()
{
string[] employeeNames = { "山田", "佐藤", "鈴木", "田中" };
for (int i = 0; i < employeeNames.Length; i++)
{
Console.WriteLine($"{i + 1}番目:{employeeNames[i]}");
}
}
}

実行結果:

1番目:山田
2番目:佐藤
3番目:鈴木
4番目:田中

インデックスは0から始まりますが、人に見せる番号は i + 1 にすると自然です。


エラーになる例:条件式に <= を使う

Section titled “エラーになる例:条件式に <= を使う”

次のコードはエラーになります。

int[] scores = { 80, 75, 90, 68, 85 };
for (int i = 0; i <= scores.Length; i++)
{
Console.WriteLine(scores[i]);
}

scores.Length5 です。

この条件では、i5 のときも繰り返しが実行されます。

i = 0, 1, 2, 3, 4, 5

しかし、最後の有効なインデックスは 4 です。

正しくは次のように書きます。

for (int i = 0; i < scores.Length; i++)
{
Console.WriteLine(scores[i]);
}

配列と for 文を組み合わせるときは、基本的に次の形を使います。

for (int i = 0; i < array.Length; i++)

6-3 初期化を伴わない配列の宣言

Section titled “6-3 初期化を伴わない配列の宣言”

要素数だけを決めて配列を作る

Section titled “要素数だけを決めて配列を作る”

配列は、最初から値を入れて作るだけではありません。

要素数だけを決めて、後から値を入れることもできます。

int[] scores = new int[5];

これは、int 型の値を5個入れられる配列を作成しています。

scores
インデックス 0 1 2 3 4
値 0 0 0 0 0

int 型の配列では、初期値として 0 が入ります。


配列の各要素には、後から値を代入できます。

using System;
class Program
{
static void Main()
{
int[] scores = new int[5];
scores[0] = 80;
scores[1] = 75;
scores[2] = 90;
scores[3] = 68;
scores[4] = 85;
Console.WriteLine(scores[0]);
Console.WriteLine(scores[1]);
Console.WriteLine(scores[2]);
Console.WriteLine(scores[3]);
Console.WriteLine(scores[4]);
}
}

実行結果:

80
75
90
68
85

配列を作成した直後、各要素には型に応じた初期値が入ります。

初期値
int0
double0
boolfalse
stringnull

null は、参照先がないことを表す特別な値です。
詳しくは後の章で扱います。

この章では、string 配列を作った直後は、まだ文字列が入っていないと理解しておきましょう。


using System;
class Program
{
static void Main()
{
string[] departments = new string[3];
departments[0] = "営業部";
departments[1] = "開発部";
departments[2] = "総務部";
for (int i = 0; i < departments.Length; i++)
{
Console.WriteLine(departments[i]);
}
}
}

実行結果:

営業部
開発部
総務部

配列は、入力された値を順番に保存するときにも使えます。

次のコードでは、3人分の点数を入力し、配列に格納します。

using System;
class Program
{
static void Main()
{
int[] scores = new int[3];
for (int i = 0; i < scores.Length; i++)
{
Console.WriteLine($"{i + 1}人目の点数を入力してください。");
string input = Console.ReadLine();
scores[i] = int.Parse(input);
}
Console.WriteLine("入力された点数:");
for (int i = 0; i < scores.Length; i++)
{
Console.WriteLine(scores[i]);
}
}
}

実行例:

1人目の点数を入力してください。
80
2人目の点数を入力してください。
75
3人目の点数を入力してください。
90
入力された点数:
80
75
90

入力された点数の合計と平均を求めます。

using System;
class Program
{
static void Main()
{
int[] scores = new int[3];
for (int i = 0; i < scores.Length; i++)
{
Console.WriteLine($"{i + 1}人目の点数を入力してください。");
string input = Console.ReadLine();
scores[i] = int.Parse(input);
}
int total = 0;
for (int i = 0; i < scores.Length; i++)
{
total += scores[i];
}
double average = (double)total / scores.Length;
Console.WriteLine($"合計点:{total}");
Console.WriteLine($"平均点:{average}");
}
}

実行例:

1人目の点数を入力してください。
80
2人目の点数を入力してください。
75
3人目の点数を入力してください。
90
合計点:245
平均点:81.66666666666667

配列に入っている点数の最大値を求めます。

using System;
class Program
{
static void Main()
{
int[] scores = { 80, 75, 90, 68, 85 };
int maxScore = scores[0];
for (int i = 1; i < scores.Length; i++)
{
if (scores[i] > maxScore)
{
maxScore = scores[i];
}
}
Console.WriteLine($"最高点:{maxScore}");
}
}

実行結果:

最高点:90

このコードでは、最初に scores[0] を最大値として仮に設定しています。

int maxScore = scores[0];

その後、配列の要素を順番に確認し、より大きい値があれば maxScore を更新します。


配列の中に特定の値があるかどうかを調べます。

using System;
class Program
{
static void Main()
{
string[] employeeNames = { "山田", "佐藤", "鈴木", "田中" };
Console.WriteLine("検索する名前を入力してください。");
string keyword = Console.ReadLine();
bool found = false;
for (int i = 0; i < employeeNames.Length; i++)
{
if (employeeNames[i] == keyword)
{
found = true;
break;
}
}
if (found)
{
Console.WriteLine("該当する社員が見つかりました。");
}
else
{
Console.WriteLine("該当する社員は見つかりませんでした。");
}
}
}

実行例:

検索する名前を入力してください。
佐藤
該当する社員が見つかりました。

このように、配列、for 文、if 文、break を組み合わせることで、簡単な検索処理を作成できます。


6-5 foreach文を使った繰り返し処理

Section titled “6-5 foreach文を使った繰り返し処理”

foreach 文は、配列の要素を1つずつ順番に取り出すための構文です。

基本形は次の通りです。

foreach (型 変数名 in 配列)
{
繰り返したい処理
}

配列のすべての要素を順番に処理したい場合に便利です。


次のコードを入力して実行してください。

using System;
class Program
{
static void Main()
{
string[] employeeNames = { "山田", "佐藤", "鈴木", "田中" };
foreach (string employeeName in employeeNames)
{
Console.WriteLine(employeeName);
}
}
}

実行結果:

山田
佐藤
鈴木
田中

foreach 文では、配列の要素が先頭から順番に employeeName に入ります。


数値の配列でも foreach を使えます。

using System;
class Program
{
static void Main()
{
int[] scores = { 80, 75, 90, 68, 85 };
int total = 0;
foreach (int score in scores)
{
total += score;
}
double average = (double)total / scores.Length;
Console.WriteLine($"合計点:{total}");
Console.WriteLine($"平均点:{average}");
}
}

実行結果:

合計点:398
平均点:79.6

for 文と foreach 文は、どちらも配列の処理に使えます。

構文向いている場面
forインデックス番号が必要な場合
foreach要素を順番に取り出せればよい場合

例:

何番目の要素か表示したい
→ for文が向いている
全要素を順番に表示したい
→ foreach文が向いている

foreachではインデックスを直接扱わない

Section titled “foreachではインデックスを直接扱わない”

foreach 文では、要素そのものを取り出します。

foreach (int score in scores)
{
Console.WriteLine(score);
}

一方、for 文ではインデックスを使います。

for (int i = 0; i < scores.Length; i++)
{
Console.WriteLine(scores[i]);
}

どちらも配列を処理できますが、目的によって使い分けます。


注意:foreachの変数に代入しない

Section titled “注意:foreachの変数に代入しない”

次のコードはエラーになります。

int[] scores = { 80, 75, 90 };
foreach (int score in scores)
{
score = 100;
}

foreach で取り出した変数 score には、代入できません。

配列の値を変更したい場合は、for 文でインデックスを使います。

int[] scores = { 80, 75, 90 };
for (int i = 0; i < scores.Length; i++)
{
scores[i] = 100;
}

これまで扱った配列は、値が横一列に並んでいるイメージでした。

scores
80 75 90 68 85

これを1次元配列と考えることができます。

一方、2次元配列は、行と列を持つ表のような配列です。

scoresTable
1科目目 2科目目 3科目目
1人目 80 75 90
2人目 68 85 72
3人目 90 88 95

表形式のデータを扱うときに使えます。


次のコードでは、3人分、3科目の点数を2次元配列で管理します。

using System;
class Program
{
static void Main()
{
int[,] scores =
{
{ 80, 75, 90 },
{ 68, 85, 72 },
{ 90, 88, 95 }
};
Console.WriteLine(scores[0, 0]);
Console.WriteLine(scores[1, 2]);
Console.WriteLine(scores[2, 1]);
}
}

実行結果:

80
72
88

2次元配列では、次のように行と列のインデックスを指定します。

scores[行, 列]

インデックスは、行も列も 0 から始まります。


2重ループで2次元配列を表示する

Section titled “2重ループで2次元配列を表示する”

2次元配列は、2重ループと相性がよいです。

using System;
class Program
{
static void Main()
{
int[,] scores =
{
{ 80, 75, 90 },
{ 68, 85, 72 },
{ 90, 88, 95 }
};
for (int row = 0; row < 3; row++)
{
for (int col = 0; col < 3; col++)
{
Console.Write($"{scores[row, col]}\t");
}
Console.WriteLine();
}
}
}

実行結果:

80 75 90
68 85 72
90 88 95

外側のループは行、内側のループは列を担当しています。


2次元配列では、行数や列数を取得するために GetLength を使います。

scores.GetLength(0)

これは行数を表します。

scores.GetLength(1)

これは列数を表します。

次のように書くと、配列の大きさが変わっても対応しやすくなります。

using System;
class Program
{
static void Main()
{
int[,] scores =
{
{ 80, 75, 90 },
{ 68, 85, 72 },
{ 90, 88, 95 }
};
for (int row = 0; row < scores.GetLength(0); row++)
{
for (int col = 0; col < scores.GetLength(1); col++)
{
Console.Write($"{scores[row, col]}\t");
}
Console.WriteLine();
}
}
}

次のコードでは、1人ごとの合計点を求めます。

using System;
class Program
{
static void Main()
{
int[,] scores =
{
{ 80, 75, 90 },
{ 68, 85, 72 },
{ 90, 88, 95 }
};
for (int row = 0; row < scores.GetLength(0); row++)
{
int total = 0;
for (int col = 0; col < scores.GetLength(1); col++)
{
total += scores[row, col];
}
Console.WriteLine($"{row + 1}人目の合計点:{total}");
}
}
}

実行結果:

1人目の合計点:245
2人目の合計点:225
3人目の合計点:273

このように、2次元配列と2重ループを組み合わせると、表形式のデータを処理できます。


補足:Length と GetLength() の違い

1次元配列では、要素数を調べるために Length を使いました。

scores.Length

一方、2次元配列では、行数や列数を調べるために GetLength(0)GetLength(1) を使います。

scores.GetLength(0)
scores.GetLength(1)

Length は、配列が持っている「要素数」という情報を取り出すものです。
このように、オブジェクトが持つ情報や状態を表すものを プロパティ と呼びます。

GetLength() は、指定した次元の長さを調べる処理を呼び出しています。
このように、何らかの処理を行うものを メソッド と呼びます。

まだ詳しく覚える必要はありませんが、まずは次のように区別しておきましょう。

種類意味
プロパティscores.Length情報を取り出す
メソッドscores.GetLength(0)処理を呼び出す

メソッドには () が付きます。
プロパティには通常 () が付きません。


この章でよくあるつまずきを確認します。

つまずき原因対応
scores[5] でエラーになる存在しないインデックスにアクセスしている要素数5なら最後は scores[4]
i <= scores.Length と書いてエラーになる最後に範囲外アクセスしているi < scores.Length と書く
配列のインデックスが1からだと思ってしまう人間の数え方と混同しているC#の配列は0から始まる
配列の型が分からないint[]string[] の意味が曖昧型[] はその型の配列と考える
LengthCount を混同する配列とListの違いが曖昧配列は Length、Listは後の章で Count
foreach で何番目か分からないforeach はインデックスを直接扱わない番号が必要なら for 文を使う
2次元配列の行と列が逆になるscores[row, col] の意味が曖昧先に行、次に列と考える
GetLength(0)GetLength(1) を混同する次元の番号を理解していない0 は行数、1 は列数と覚える
合計用変数の初期化位置を間違えるループの外に置くべきか中に置くべきか混同行ごとの合計なら外側ループの中で初期化する

次の項目について、自分で説明できるか確認してください。

  • 配列とは何かを説明できる
  • 配列を使うメリットを説明できる
  • int[]string[] の意味を説明できる
  • 配列のインデックスが0から始まることを説明できる
  • 配列の要素にアクセスできる
  • Length を使って配列の要素数を取得できる
  • for 文で配列の要素を順番に処理できる
  • 配列に後から値を代入できる
  • 入力された値を配列に保存できる
  • foreach 文で配列の要素を順番に取り出せる
  • for 文と foreach 文の使い分けを説明できる
  • 2次元配列の基本を説明できる
  • GetLength(0)GetLength(1) の違いを説明できる

研修の進め方によっては、隣の人またはチーム内で説明確認を行います。

次の内容を、自分の言葉で説明してください。

  1. 配列はどのようなときに使いますか。
  2. scores[0] は何を表していますか。
  3. 要素数が5の配列で、最後のインデックスはいくつですか。
  4. scores.Length は何を表していますか。
  5. for 文と foreach 文の違いは何ですか。
  6. 2次元配列では、scores[1, 2] はどのように考えますか。

説明するときは、完全な答えでなくても構いません。
自分の言葉で説明しようとすることが大切です。


この章の演習課題に取り組みます。

制限時間は 60分 です。

時間内にすべて完成しなくても構いません。
できたところまでを保存し、Gitに提出してください。

提出について

制限時間になったら、完成・未完成に関わらず作業を止めます。 できたところまでをGitにcommitし、pushしてください。 未完成の場合は、どこまでできたかを報告できるようにしておきましょう。


まずは、全員が必須課題に取り組んでください。


次の点数を配列に入れ、すべて表示してください。

80, 75, 90, 68, 85

実行結果例:

80
75
90
68
85

条件:

  • int[] を使う
  • for 文を使う
  • Length を使う

課題6-2 点数の合計と平均を求める

Section titled “課題6-2 点数の合計と平均を求める”

次の点数を配列に入れ、合計点と平均点を表示してください。

80, 75, 90, 68, 85

実行結果例:

合計点:398
平均点:79.6

条件:

  • int[] を使う
  • 合計用の変数を使う
  • 平均点は小数が表示されるようにする
  • Length を使う

課題6-3 社員名一覧を表示する

Section titled “課題6-3 社員名一覧を表示する”

次の社員名を配列に入れ、番号付きで表示してください。

山田, 佐藤, 鈴木, 田中

実行結果例:

1番目:山田
2番目:佐藤
3番目:鈴木
4番目:田中

条件:

  • string[] を使う
  • for 文を使う
  • 表示番号は1から始める

課題6-4 入力された3人分の点数を配列に保存する

Section titled “課題6-4 入力された3人分の点数を配列に保存する”

3人分の点数を入力し、配列に保存してください。
その後、入力された点数をすべて表示してください。

実行例:

1人目の点数を入力してください。
80
2人目の点数を入力してください。
75
3人目の点数を入力してください。
90
入力された点数:
80
75
90

条件:

  • new int[3] を使う
  • Console.ReadLine を使う
  • int.Parse を使う
  • 入力と表示の両方で for 文を使う

必須課題が終わった人は、発展課題に取り組んでください。


次の点数配列から、最高点を求めて表示してください。

72, 88, 91, 65, 84, 97, 78

実行結果例:

最高点:97

条件:

  • 配列を使う
  • for 文を使う
  • 最初の要素を仮の最高点として扱う

次の社員名配列を用意します。

山田, 佐藤, 鈴木, 田中, 高橋

検索する名前を入力し、配列内に存在するか判定してください。

実行例:

検索する名前を入力してください。
佐藤
該当する社員が見つかりました。

実行例:

検索する名前を入力してください。
伊藤
該当する社員は見つかりませんでした。

条件:

  • string[] を使う
  • Console.ReadLine を使う
  • for 文を使う
  • 見つかったら break してもよい
  • 見つかったかどうかを bool 変数で管理する

課題6-7 foreachで部署一覧を表示する

Section titled “課題6-7 foreachで部署一覧を表示する”

次の部署名を配列に入れ、foreach 文で表示してください。

営業部, 開発部, 総務部, 人事部

実行結果例:

営業部
開発部
総務部
人事部

条件:

  • string[] を使う
  • foreach 文を使う

課題6-8 2次元配列で点数表を表示する

Section titled “課題6-8 2次元配列で点数表を表示する”

3人分、3科目の点数を2次元配列で管理し、表形式で表示してください。

点数:

80, 75, 90
68, 85, 72
90, 88, 95

実行結果例:

80 75 90
68 85 72
90 88 95

条件:

  • int[,] を使う
  • 2重ループを使う
  • GetLength(0)GetLength(1) を使う
  • Console.WriteConsole.WriteLine を使い分ける

課題6-9 2次元配列で行ごとの合計を求める

Section titled “課題6-9 2次元配列で行ごとの合計を求める”

課題6-8の2次元配列を使い、1人ごとの合計点を表示してください。

実行結果例:

1人目の合計点:245
2人目の合計点:225
3人目の合計点:273

条件:

  • 2次元配列を使う
  • 2重ループを使う
  • 行ごとに合計用変数を初期化する

課題が終わったら、できたところまでをGitに提出します。

まず、現在の状態を確認します。

Terminal window
git status

変更されたファイルを追加します。

Terminal window
git add .

コミットします。

Terminal window
git commit -m "Chapter06 配列"

ファイルサーバー上のリポジトリへpushします。

Terminal window
git push

Gitの操作でエラーが出た場合は、自己判断で同じ操作を繰り返さず、講師に確認してください。


提出前に、次の項目を確認してください。

  • プログラムをVisual Studioから実行できる
  • 配列を宣言できている
  • 配列の要素にアクセスできている
  • インデックスが0から始まることを意識できている
  • Length を使っている
  • for 文で配列を処理している
  • 必要に応じて foreach 文を使っている
  • 配列の範囲外にアクセスしていない
  • 入力値を配列に保存できている
  • 2次元配列の行と列を正しく扱えている
  • インデントが整っている
  • Gitにcommitしている
  • Gitにpushしている

この章では、配列について学習しました。

この章で学んだ主な内容は次の通りです。

  • 配列は、同じ型の複数の値をまとめて管理する仕組みである
  • 配列の各要素にはインデックスでアクセスする
  • C#の配列のインデックスは0から始まる
  • 要素数が5の配列で使えるインデックスは0から4までである
  • 配列の要素数は Length で取得できる
  • 配列と for 文を組み合わせると、複数の値を順番に処理できる
  • 配列は、最初に値を入れて作ることも、要素数だけ決めて後から値を入れることもできる
  • foreach 文を使うと、配列の要素を順番に取り出せる
  • インデックス番号が必要な場合は for 文が向いている
  • 2次元配列を使うと、行と列を持つ表のようなデータを扱える
  • 2次元配列では、GetLength(0) で行数、GetLength(1) で列数を取得できる

次章では、クラスとオブジェクト指向プログラミングの基礎 を学習します。

これまでは、数値や文字列、配列を使ってデータを扱ってきました。
次章からは、複数のデータと処理を1つのまとまりとして扱う クラス を学び、オブジェクト指向プログラミングの入口に進みます。