C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day6:配列

C# 30日で身につけるC#
スポンサーリンク
スポンサーリンク

配列の応用をもっと学ぶ(Day6 応用編)

配列の基礎(添字・Length・多次元配列)を理解したら、 次は 「配列を使って何ができるのか」 をさらに深めていきます。

ここでは、実務でも頻繁に使われる応用テクニックを 初心者の方でも自然に理解できるように、例題を交えて丁寧に解説していきます。

配列応用の全体像

配列を応用すると、次のような処理が簡単に書けるようになります。

合計・最大値・最小値・平均値の計算を効率化できる 検索(特定の値を探す)処理が書ける 並び替え(ソート)ができる 複数の配列を組み合わせて処理できる 多次元配列で表形式のデータを扱える

Day6 後半では「合計・最大値・最小値・平均値」を扱いましたが、 ここではさらに一歩進んだ応用を紹介します。

配列の検索(値を探す)

特定の値が配列に存在するか調べる

例えば、点数の中に 90 があるかどうかを調べたい場合です。

int[] scores = { 80, 75, 90, 60, 88 };
bool found = false;

for (int i = 0; i < scores.Length; i++)
{
    if (scores[i] == 90)
    {
        found = true;
        break;
    }
}

Console.WriteLine(found ? "90が見つかりました" : "90はありません");
C#

ここで深掘りしたいポイントは、 見つかった瞬間に break でループを終了する というテクニックです。

無駄なループを回さないため、処理が効率的になります。

配列のソート(並び替え)

小さい順に並び替える(昇順)

C# には便利なメソッドがあります。

int[] scores = { 80, 75, 90, 60, 88 };

Array.Sort(scores);

foreach (int s in scores)
{
    Console.WriteLine(s);
}
C#

結果は次のようになります。

60
75
80
88
90

大きい順に並び替える(降順)

Array.Sort(scores);
Array.Reverse(scores);
C#

ここで深掘りしたいポイントは、 Sort → Reverse の組み合わせで降順が作れる という点です。

配列のコピー(複製)

配列をそのまま別の配列にコピーする

int[] scores = { 80, 75, 90 };
int[] copy = new int[scores.Length];

Array.Copy(scores, copy, scores.Length);
C#

copy は scores と同じ内容になります。

ここで重要なのは、 copy と scores は別の配列である という点です。

片方を変更しても、もう片方には影響しません。

配列の合体(結合)

2つの配列を1つにまとめる

int[] a = { 1, 2, 3 };
int[] b = { 4, 5, 6 };

int[] result = new int[a.Length + b.Length];

Array.Copy(a, result, a.Length);
Array.Copy(b, 0, result, a.Length, b.Length);

foreach (int n in result)
{
    Console.WriteLine(n);
}
C#

結果は次のようになります。

1 2 3 4 5 6

ここで深掘りしたいポイントは、 コピー先の添字をずらすことで配列を結合できる という点です。

多次元配列の応用(表の計算)

行ごとの合計を求める

int[,] table = {
    { 1, 2, 3 },
    { 4, 5, 6 }
};

for (int i = 0; i < 2; i++)
{
    int total = 0;

    for (int j = 0; j < 3; j++)
    {
        total += table[i, j];
    }

    Console.WriteLine("行 " + i + " の合計: " + total);
}
C#

結果は次のようになります。

行0 の合計: 6  
行1 の合計: 15

ここで深掘りしたいポイントは、 多次元配列は「行 × 列」の構造をループで表現する という点です。

配列応用のまとめ

Day6 応用編では、配列を使った高度な処理を学びました。

配列の検索 配列のソート 配列のコピー 配列の結合 多次元配列の応用

これらを理解すると、 現実のデータ処理をプログラムに落とし込む力が一気に高まります。

タイトルとURLをコピーしました