C#中的多维数组和交错数组
来源:互联网 发布:考勤机怎么修改数据 编辑:程序博客网 时间:2024/05/16 10:38
C#中有多维数组和交错数组,两者有什么区别呢!
直白些,多维数组每一行都是固定的,交错数组的每一行可以有不同的大小。
以二维的举例,二维数组就是m×n的矩阵,m行n列;而交错数组(又叫锯齿数组)有m行,但是每一行不一定是n列。Got it?
在这个意义上,C++和Java中的多维数组起始相当于C#中的交错数组,要使用多维数组,只需要保证每个维度的长度是相等的就OK了!
因为m×n的矩阵这样的多维数组比较常用,感觉C#中对两个进行了区分,提供了一些便利!
还有要注意C#中的数组也是一种类型(C++中不是,比如C++中函数返回值不能是数组,感觉C++中的数组更像是一个指针)!
下面看实例:
二维数组:
public static void Main(){ int row = 5; int column = 5; int[,] matrix = new int[row, column]; //初始化 for (int i = 0; i < row; i++) { for (int j = 0; j < column; j++) { matrix[i, j] = (i + 1) * 10 + j + 1; } } //输出 Console.WriteLine("该二维数组有:{0}行{1}列!", matrix.GetLength(1), matrix.GetLength(1)); for (int i = 0; i < row; i++) { for (int j = 0; j < column; j++) { Console.Write(matrix[i, j] + " "); } Console.Write('\n'); }}
结果:
说明:
多维数组的声明采用int[,]这样的方式
获取多维数组的第i维的长度用数组名.GetLength(i)方法
例如:获取二维数组的行:matrix.GetLength(0);获取二维数组的列:matrix.GetLength(1)
多维数组的Length属性是数组总共的长度
二维交错数组:
public static void Main(){ int row = 5; //交错数组空间的申请 int[][] matrix = new int[row][]; for (int i = 0; i < row; i++) { matrix[i] = new int[i + 1]; } //数据初始化 for (int i = 0; i < matrix.Length; i++) { for (int j = 0; j < matrix[i].Length; j++) { matrix[i][j] = (i + 1) * 10 + j + 1; } } //数据输出 for (int i = 0; i < matrix.Length; i++) { for (int j = 0; j < matrix[i].Length; j++) { Console.Write(matrix[i][j] + " "); } Console.Write('\n'); }}
结果:
说明:
交错数组的声明使用int[][]的形式
交错数组获取长度直接使用Length属性即可
0 0
- C#中的多维数组和交错数组
- C#中的多维数组和交错数组
- C#中的数组,多维数组和交错数组
- C#中的数组,多维数组和交错数组
- C#交错数组与多维数组区别
- 多维数组,交错数组
- 多维数组与交错数组
- c#中的二维数组和交错数组的区别
- 数组:交错数组和多维数组的的原理
- C#交错数组浅析
- C#交错数组
- c#交错数组
- C#学习笔记——多维数组与交错数组的区别
- 矩形数组和交错数组
- C#控制台 初始化交错数组
- C#交错数组详说
- 用foreach对交错数组[多维数组]进行遍历
- C#中的多维数组的应用
- 学习随机生成汉字
- 省赛选拔赛——组队赛第四场
- 简单C语言程序的执行过程
- C++ map的使用
- XFS事件处理问题
- C#中的多维数组和交错数组
- 链表
- jdk 的环境配置
- 微信开发入门1--成为开发者
- 指针数组和数组指针
- 【入门】创建新项目-系统自动创建了appcompat_v7 res资源属性报错
- 自定义组合控件的过程
- Semaphore(信号量)
- LeetCode 155.Min Stack