Menu
CoddyTech

Lặp qua dữ liệu phức tạp

Thuộc phần Logic và luồng chương trình trong hành trình C# của Coddy. Bài học 14 trên 66.

Việc lặp qua các cấu trúc phức tạp như mảng lồng nhau đòi hỏi những cách tiếp cận đặc biệt.

Duyệt qua mảng 2D bằng các vòng lặp lồng nhau:

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]);
    }
}

Duyệt qua mảng chuỗi và xử lý từng ký tự:

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]);
    }
}

Đếm số phần tử trong mảng răng cưa:

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

Thử thách

Dễ

Tạo một phương thức có tên countElements để:

  1. Nhận một mảng chuỗi răng cưa (string[][]) làm tham số
  2. Đếm số phần tử trong toàn bộ mảng răng cưa
  3. Trả về tổng số phần tử

Ví dụ, với:

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

Kết quả phải là 6 (3 + 2 + 1).

Tự làm thử

using System;
public class CountElements
{
    // Triển khai phương thức countElements
    public static int countElements(string[][] nestedArray)
    {
        // Viết code tại đây
        
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch C# online