C#中的 多维数组、锯齿数组

多维数组

定义:使用new关键字和指定的维度大小来创建多维数组。

访问:通过多个索引访问数组元素,索引从 0 开始。

销毁:C# 有垃圾回收机制,当多维数组不再被引用时,垃圾回收器会自动回收其占用的内存。

using System;
class Program {
    static void Main() {
        // 定义一个三维数组,大小为2x3x4
        int[,,] multiDimArray = new int[2, 3, 4];
        // 初始化三维数组元素
        int value = 0;
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 3; j++) {
                for (int k = 0; k < 4; k++) {
                    multiDimArray[i, j, k] = value++;
                }
            }
        }
        // 访问并输出三维数组元素
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 3; j++) {
                for (int k = 0; k < 4; k++) {
                    Console.WriteLine($"multiDimArray[{i}, {j}, {k}] = {multiDimArray[i, j, k]}");
                }
            }
        }
    }
}

锯齿数组

定义:先定义一个一维数组来存储每行的数组引用,然后为每行分配不同大小的数组。

访问:通过行和列索引访问元素,注意每行长度不同。

销毁:C# 的垃圾回收机制会自动处理锯齿数组的内存回收。

using System;
class Program {
    static void Main() {
        // 定义一个锯齿数组,有3行
        int[][] jaggedArray = new int[3][];
        // 第一行有2个元素,第二行有3个元素,第三行有4个元素
        jaggedArray[0] = new int[2];
        jaggedArray[1] = new int[3];
        jaggedArray[2] = new int[4];
        // 初始化锯齿数组元素
        int value = 0;
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < (i + 2); j++) {
                jaggedArray[i][j] = value++;
            }
        }
        // 访问并输出锯齿数组元素
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < (i + 2); j++) {
                Console.WriteLine($"jaggedArray[{i}][{j}] = {jaggedArray[i][j]}");
            }
        }
    }
}
posted @ 2025-01-03 14:12  青云Zeo  阅读(7)  评论(0编辑  收藏  举报