C#二维数组与多维数组的使用详解
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#数组开发的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













