位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

C# 多维数组

提问人:刘团圆发布时间:2020-12-04

    多维数组是使用多个索引访问其元素的数组。例如,假定要确定一座山相对于某位置的高度,可使用两个坐标x和y来指定一个位置。把这两个坐标用作索引,让数组hiUHeight可以用每对坐标来存储高度,这就要使用多维数组了。

    像这样的二维数组可以声明如下:

    <baseType>[,] <name>;

    多维数组只需要更多逗号,例如:

    <baseType>[,,,] <name>;

该语句声明了一个4维数组。赋值也使用类似的语法,用逗号分隔大小。要声明和初始化二维数组hillHeight,其基本类型是double, x的大小是3, y的大小是4,则需要:

    double[,] hillHeight = new double[3,4];

还可以使用字面值进行初始赋值。这里使用嵌套的花括号块,它们之间用逗号分开,例如:

    double[,] hillHeight = { { 1, 2, 3, 4 }, { 2, 3, 4, 5 }, { 3, 4, 5, 6 } };

这个数组的维度与前面的相同,也是3行4列。通过提供字面值隐式定义了这些维度。

要访问多维数组中的每个元素,只需要指定它们的索引,并用逗号分开,例如:

    hillHeight[2,1]

接着就可以像处理其他元素那样处理它了。这个表达式将访问上面定义的第3个嵌套数组中的第2个元素 (其值是4)。记住,索引从0开始,第一个数字是嵌套的数组。换言之,第一个数字指定花括号对,第2个数字指定该对花括号中的元素。用图来可视化地表示这个数组。






hillHeight [0,0]

 

hillHeight [0,1]


hillHeight [0,2]


hillHeight [0,3]



1


2


3


4







hillHeight [1,0]


hillHeight [1,1]


hillHeight [1.2]


hillHeight (1,3]



2


3


4


5







hillHeight (2,0]


hillHeight [2,1]


hillHeight [2,2]


hillHeight [2,3]



3


4


5


6


foreach循环可以访问多维数组中的所有元素,其方式与访问一维数组相同,例如:

double[,] hillHeight = { { 1, 2, 3, 4 }, { 2, 3, 4, 5 }, { 3, 4, 5, 6 )); 

foreach (double height in hillHeight)

{

    WriteLine($"{height}");

}

元素的输出顺序与赋予字面值的顺序相同(这里显示了元素的标识符而非实际值):

hillHeight[0,0] 

hillHeight[0,l] 

hillHeight[0,2] 

hillHeight[0,3] 

hillHeight[1,0] 

hillHeight[1,1] 

hillHeight[1,2]

...


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部