C#二维数组与多维数组的具体使用
作者:C语言中文网 时间:2023-07-30 23:53:49
C# 中同样支持多维数组(也可称为矩形数组),它可以是二维的,也可以是三维的,多维数组中的数据以类似表格(行、列)的形式存储,因此也被称为矩阵。
要创建多维数组,我们需要在声明数组的方括号内添加逗号,例如:
int[,] arr=new int[3,3]; // 声明一个二维数组
int[,,] arr=new int[3,3,3]; // 声明一个三维数组
1、二维数组
多维数组中最简单的形式是二维数组,我们可以将二维数组看作是一个表格,这个表格中具有相应的行数和列数,下图中展示了一个包含 3 行 4 列的二维数组。
二维数组示意图
我们可以使用arr[i, j]的形式来访问二维数组中的每个元素,其中 arr 为数组的名称,而 i 和 j 则是数组元素的索引,类似于表格中的行和列。
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、访问二维数组种的元素
二维数组中的元素同样可以通过索引(行索引和列索引)来访问的,例如:
int[,] arr = new int[3,4]{
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9, 10, 11}
};
int a = arr[1, 0];
上例中arr[1, 0]代表了数组 arr 中第二行中的第一个元素。
【示例】定义一个二维数组并遍历数组中的每个元素:
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
来源:http://c.biancheng.net/csharp/multidimensional-array.html
标签:C#,二维数组,多维数组
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Android创建淡入淡出动画的详解
2022-12-28 00:12:12
![](https://img.aspxhome.com/file/2023/9/114339_0s.gif)
javafx实现时钟效果
2022-09-10 02:23:31
![](https://img.aspxhome.com/file/2023/6/88196_0s.jpg)
C#3.0中Lambda表达式详解
2023-08-08 04:01:37
Java ThreadLocal类使用详解
2022-08-04 05:29:34
![](https://img.aspxhome.com/file/2023/4/71014_0s.png)
java虚拟机钩子关闭函数addShutdownHook的操作
2021-10-18 00:58:25
![](https://img.aspxhome.com/file/2023/6/61576_0s.jpg)
Android仿IOS上拉下拉弹性效果的实例代码
2023-08-26 06:49:18
![](https://img.aspxhome.com/file/2023/2/138542_0s.gif)
详解基于Android App 安全登录认证解决方案
2022-12-28 04:45:18
![](https://img.aspxhome.com/file/2023/5/125445_0s.png)
Java IO之序列化与反序列化详解
2023-05-21 14:59:14
![](https://img.aspxhome.com/file/2023/6/80156_0s.jpg)
@ConfigurationProperties加载外部配置方式
2023-11-09 01:14:32
![](https://img.aspxhome.com/file/2023/5/59385_0s.png)
三种Android单击事件onclick的实现方法
2022-05-21 16:54:03
Java回调函数原理实例与代理模式的区别讲解
2023-04-16 21:21:01
Java的类型擦除式泛型详解
2022-01-02 11:59:00
![](https://img.aspxhome.com/file/2023/8/61608_0s.jpg)
C#判断系统是32位还是64位的方法
2022-04-01 12:44:04
![](https://img.aspxhome.com/file/2023/9/108799_0s.png)
Java如何在PDF中添加ToolTip工具提示
2021-12-31 12:12:53
![](https://img.aspxhome.com/file/2023/6/77456_0s.png)
Java对象级别与类级别的同步锁synchronized语法示例
2023-06-25 09:11:22
![](https://img.aspxhome.com/file/2023/7/61867_0s.png)
C#图片按比例缩放的实现代码
2022-12-19 03:58:16
opencv 做人脸识别 opencv 人脸匹配分析
2023-07-09 06:34:44
![](https://img.aspxhome.com/file/2023/8/101078_0s.jpg)
fastjson全局日期序列化设置导致JSONField失效问题解决方案
2021-12-13 10:58:24
C#汉字转换拼音技术详解(高性能)
2022-01-19 02:03:16
JAVA包装类及自动封包解包实例代码
2022-10-23 13:28:54