Menu
Coddy logo textTech

Iterating Complex

CoddyのC#ジャーニー「ロジックとフロー」セクションの一部 — レッスン 14/66。

ネストされた配列のような複雑な構造をイテレートするには、特別なアプローチが必要です。

ネストされたループを使用して2D配列をイテレート:

int[][] matrix = new int[3][];
matrix[0] = new int[] { 1, 2, 3 };
matrix[1] = new int[] { 4, 5, 6 };
matrix[2] = new int[] { 7, 8, 9 };

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

文字列配列をイテレートし、各文字を処理する:

string[] words = { "hello", "world" };

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

ジャグ配列の要素数をカウントする:

int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[] { 1, 2, 3 };
jaggedArray[1] = new int[] { 4, 5 };
jaggedArray[2] = new int[] { 6 };

int totalItems = 0;
for (int i = 0; i < jaggedArray.Length; i++)
{
    totalItems += jaggedArray[i].Length;
}
Console.WriteLine($"Total items: {totalItems}");
challenge icon

チャレンジ

簡単

countElements という名前のメソッドを作成してください。このメソッドは:

  1. 文字列のジャグ配列 (string[][]) をパラメータとして受け取ります
  2. ジャグ配列全体に含まれる要素の数をカウントします
  3. 合計のカウントを返します

例えば、与えられた場合:

[
  ["apple", "orange", "apple"],
  ["banana", "apple"],
  ["orange"]
]

結果は 6 (3 + 2 + 1) であるべきです。

チートシート

2D 配列をイテレートするためにネストされたループを使用します:

int[][] matrix = new int[3][];
matrix[0] = new int[] { 1, 2, 3 };
matrix[1] = new int[] { 4, 5, 6 };
matrix[2] = new int[] { 7, 8, 9 };

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

文字列配列をイテレートし、個々の文字にアクセスします:

string[] words = { "hello", "world" };

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

ジャグ配列内の合計アイテム数をカウントします:

int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[] { 1, 2, 3 };
jaggedArray[1] = new int[] { 4, 5 };
jaggedArray[2] = new int[] { 6 };

int totalItems = 0;
for (int i = 0; i < jaggedArray.Length; i++)
{
    totalItems += jaggedArray[i].Length;
}
Console.WriteLine($"Total items: {totalItems}");

自分で試してみよう

using System;
public class CountElements
{
    // countElements メソッドを実装する
    public static int countElements(string[][] nestedArray)
    {
        // ここにコードを書く
        
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン