C#二维数组与多维数组的使用详解

陆遥
陆遥
发布时间:2026-10-15| 5人浏览过
原创

C#支持多维数组(矩形数组),数据以表格形式存储。本文将详细解析如何创建和初始化二维及三维数组,并通过具体代码示例说明元素访问方式与遍历逻辑。

1、多维数组概述

C#中的多维数组在声明时需要在方括号内使用逗号分隔维度。最基础的二维数组类似于一个包含行和列的表格;此外还可通过增加逗号扩展至三维或更高维度,此类数据结构通常也被称为矩阵。

int[,] arr = new int[3,3];     // 声明一个二维数组
int[,,] arr = new int[3,3,3];  // 声明一个三维数组

示意图展示了一个标准的二维网格结构:

2、初始化二维数组

在定义一个特定大小(如3行4列)的整型二维数组时,编译器提供了多种初始化途径:显式指定大小并使用嵌套大括号赋值、省略行数让编译器推断,或直接进行隐式类型推断。

第一种方式:显式指定行列数

这是最严格的声明方式,同时指定了内存分配的大小与初始值。

// 完整定义格式
int[,] arr = new int[3,4]{
    {0, 1, 2, 3},
    {4, 5, 6, 7},
    {8, 9, 10, 11}
};

第二种方式:忽略第一维长度

在确定第二维长度后,可以省略第一维的长度声明,系统会根据提供的初始化列表自动计算行数。

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

第三种方式:完全隐式初始化

直接给数组赋初值,由编译器推导类型和尺寸。

int[,] arr = {
    {0, 1, 2, 3},
    {4, 5, 6, 7},
    {8, 9, 10, 11}
};

3、元素访问与遍历

多维数组内的每个数据点都可以通过其所在的“行索引”和“列索引”唯一确定,访问格式为 [i, j]。例如在上面的示例中,arr[1, 0] 取出的值是位于第二行第一列的数据 4(注意索引从0开始)。

在实际开发中,往往需要处理整个表的数据。使用双层 for 循环即可实现所有元素的顺序输出,外层循环控制行,内层循环控制列。

using System;
namespace c.biancheng.net
{
    class Demo
    {
        static void Main(string[] args){
            int[,] arr = new int[3,4]{
                {0, 1, 2, 3},
                {4, 5, 6, 7},
                {8, 9, 10, 11}
            };
           
            for(int i = 0; i < 3; i++){
                for(int j = 0; j < 4; j++){
                    Console.WriteLine("arr[{0},{1}] = {2}", i, j, arr[i,j]);
                }
            }
            Console.ReadLine();
        }
    }
}

上述代码的运行结果将依次打印出矩阵中的所有坐标及其对应的数值:

arr[0,0] = 0
arr[0,1] = 1
arr[0,2] = 2
arr[0,3] = 3
arr[1,0] = 4
arr[1,1] = 5
arr[1,2] = 6
arr[1,3] = 7
arr[2,0] = 8
arr[2,1] = 9
arr[2,2] = 10
arr[2,3] = 11

以上就是C#二维数组与多维数组的具体使用的详细内容,更多关于C#数组开发的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。