C# 多维数组

多维数组

多维数组的声明和创建

一般形式如下 :

数组类型[逗号列表] 数组名 = new 数组类型[维度长度列表]

其中, , 的个数 + 1 就是维度数

csharp 复制代码
int [,,] a = new int[5,4,3];

表示声明一个具有 5 × 4 × 3 5\times4\times3 5×4×3 共 60 60 60 个数组元素的三维数组 a

多维数组的初始化

(1)以维度为单位组织初始化值,同一维度的初始值放在一对花括号{}之中。

csharp 复制代码
int [,] a = new int[2,3] {{1,2,3}, {4,5,6}};

(2)省略维度长度列表,系统能够自动计算维度和维度的长度。注意,逗号不能省略

csharp 复制代码
int [,] a = new int[,] {{1,2,3}, {4,5,6}};

(3)初始化多维数组可以用简写形式,但是如果先声明再初始化就不能用简写形式s

csharp 复制代码
int [,] a = {{1,2,3}, {4,5,6}};

(4)多维数组不允许部分初始化

csharp 复制代码
×
int [,] a = new int[2, 3] {{1},{4}};
×

希望只初始化二维数组的第一列元素,这是不允许的,因此是错误的。

多维数组的使用

使用形式 : 数组名[索引列表]

例如,设 a a a 是 2 × 3 2\times3 2×3 的二维整型数组,则 a[0, 0] = 50 表示为 a[0,0] 赋值 50

数组型的数组

数组型的数组是一种由若干个数组构成的数组。为了便于理解,把包含在数组中的数组成为子数组。

数组型数组的生命和创建

格式 : 数组类型[维度][子数组的维度] 数组名=new 数组类型[维度长度][子数组的维度]

其中,省略维度为一维数组,省略子数组的维度表示子数组为一维数组。例如下面语句,表示创建了两个一维子数组构成一维数组 a

csharp 复制代码
int [][] a = new int[2][];

而下面的语句表示创建了由两个二维子数组构成的一维数组 a :

csharp 复制代码
int [][,] a = new int[2][,];

注意\] 声明数组型数组时,不能指定子数组长度 ### 数组型数组的初始化 数组型数组同样有多种初始化方式,包括创建时初始化,先声明后初始化。其中,创建初始化可以省略维度长度,例如: ```csharp int [][] a = new int[][]{new int[] {1, 2, 3}, new int[] {4, 5, 6} }; ``` 表示创建由两个一维子数组构成的数组 a 实际上,先声明后初始化更加直观,例如 : ```csharp int [][] a = new int[2][]; a[0] = new int[3] {1, 2, 3}; a[1] = new int[5] {4, 5, 6, 7, 8}; ``` 表示第一个子数组的长度为 3,第二个子数组的长度为 5。 ### 引用子数组的元素 对于数组型的数组来说,可按照一下格式引用子数组的每一个元素 : **数组名\[索引列表\]\[索引列表\]** 假设 a a a 是由两个一维子数组构成的数组,且每个子数组的长度为 3,则 `a[0][0]` 表示引用第一个子数组的第一个数组元素。而 `a[0][0] ++` 表示把该元素的值加 1。

相关推荐
唐青枫30 分钟前
C#.NET FluentSqlKata 全面解析:基于链式语法的动态 SQL 构建
c#·.net
加号310 小时前
【C#】获取电脑网卡MAC地址
windows·c#
yi碗汤园10 小时前
【超详细】C#自定义工具类-StringHelper
开发语言·前端·unity·c#·游戏引擎
sali-tec10 小时前
C# 基于halcon的视觉工作流-章49-网面破损
开发语言·图像处理·算法·计算机视觉·c#
YuanlongWang10 小时前
c# ABP vNext 框架详解及其模块化开发思想介绍
开发语言·c#
张人玉11 小时前
WPF布局控件(界面骨架核心)
开发语言·c#·wpf·布局控件
刘欣的博客14 小时前
C# 上传票据文件 调用Dify的API完成OCR识别
c#·ocr·api·dify
hoiii18714 小时前
C#实现近7天天气预报
开发语言·c#
亦陈不染14 小时前
c#入门详解(刘铁锰)06 - 数据持久化:TXT文本保存、序列化与反序列化(附详细源码)
开发语言·计算机视觉·c#·wpf
忧郁的蛋~19 小时前
.NET实现多任务异步与并行处理的详细步骤
后端·c#·asp.net·.net·.netcore