C# の基礎

C#の配列

このレッスンでは、2次元配列も含めて、C#の配列の作成、読み取り、変更、走査、並べ替えを行います。

はじめに

配列(array)は、同じ型の値を決まった数だけ保存します。各要素には0から始まるインデックス(index)でアクセスします。作った後でも各要素の値は変えられますが、配列の長さは変えられません。

プロパティLengthは要素数を表し、scores[^1]は最後の要素を取り出す短い書き方です。foreachループですべての要素をたどって合計と平均を求めます。Array.Sortは配列をその場で並べ替えます。new int[3]で作った配列には最初から0が入っており、int[,]型は行と列でアクセスする2次元配列を作ります。

動きで理解する

箱をクリックするかスライダーでインデックスを選びます。挿入や削除をすると、後ろの要素がすべてずれる理由がわかります。

実行できる C# の例

C#
コードを実行 →
Program.cs
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        // An array has a fixed length set when it is created.
        int[] scores = { 72, 95, 88, 64 };
        Console.WriteLine($"Length: {scores.Length}");
        Console.WriteLine($"First: {scores[0]}, last: {scores[^1]}");

        scores[3] = 70;  // elements can be changed, the length cannot

        int sum = 0;
        foreach (int score in scores)
        {
            sum += score;
        }
        Console.WriteLine($"Sum: {sum}, average: {sum / (double)scores.Length}");

        // Array.Sort sorts in place; string.Join prints the elements.
        Array.Sort(scores);
        Console.WriteLine($"Sorted: {string.Join(", ", scores)}");
        Console.WriteLine($"Max: {scores.Max()}");

        // new int[3] creates an array of zeros.
        int[] counts = new int[3];
        counts[1] = 5;
        Console.WriteLine($"Counts: {string.Join(" ", counts)}");

        // A 2D array is indexed by row and column.
        int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
        Console.WriteLine($"grid[1, 2] = {grid[1, 2]}");
    }
}
実行結果
Length: 4
First: 72, last: 64
Sum: 325, average: 81.25
Sorted: 70, 72, 88, 95
Max: 95
Counts: 0 5 0
grid[1, 2] = 6

デバッガーで練習する

大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。

チャレンジで練習する

このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。

すべてのチャレンジ