C# 交叉数组和二维数组的简单区别
class TestArray
{
public void Run()
{
//------------------声明数组------------------
int[][] myArray1 = new int[3][]; //交叉数据
int[][] myArray2 = new int[3][] { new int[3] { 5, 6, 2 }, new int[5] { 6, 9, 7, 8, 3 }, new int[3] { 3, 2, 4 } }; //交叉数据(赋值)
int[,] myArray5 = new int[3, 3]; //二维数据 int[,] myArray6 = new int[3, 3] { { 5, 6, 2 }, { 7, 8, 3 }, { 3, 2, 4 } }; //二维数据(赋值)
//交叉数据 myArray1[0] = new int[] { 5, 3, 7, 1, 9 }; Console.WriteLine(myArray1[0].Count()); //OutPut: 5 //Console.WriteLine(myArray1[1][2]); //抛出未将对象运用到实例
Console.WriteLine(myArray2[0][2]); //OutPut: 2
//二维数据 myArray5[0, 2] = 8; Console.WriteLine(myArray5[0, 2]); //OutPut: 8 Console.WriteLine(myArray5[1, 2]); //OutPut: 0
Console.WriteLine(myArray6[2, 2]); //OutPut: 4
Console.ReadLine(); } }
1. 声明方式不同 2. 交叉数组二级数组可以是不规则长度, 二维数组声明以后必定是一个规则"矩形".
//交叉数组[3][] 5, 6, 7 3 1, 2
//二维数组[3,3] 1, 2, 3 4, 5, 6 7, 8, 9
遍历二维数组 for (int i = 0; i < matrix.GetLength(0); i++)
{
for (int j = 0; j < matrix.GetLength(1); j++)
Console.WriteLine(matrix[i,j]+" ");
}
int[,] myArray5 = new int[3, 3]; //二维数据 int[,] myArray6 = new int[3, 3] { { 5, 6, 2 }, { 7, 8, 3 }, { 3, 2, 4 } }; //二维数据(赋值)
//交叉数据 myArray1[0] = new int[] { 5, 3, 7, 1, 9 }; Console.WriteLine(myArray1[0].Count()); //OutPut: 5 //Console.WriteLine(myArray1[1][2]); //抛出未将对象运用到实例
Console.WriteLine(myArray2[0][2]); //OutPut: 2
//二维数据 myArray5[0, 2] = 8; Console.WriteLine(myArray5[0, 2]); //OutPut: 8 Console.WriteLine(myArray5[1, 2]); //OutPut: 0
Console.WriteLine(myArray6[2, 2]); //OutPut: 4
Console.ReadLine(); } }
1. 声明方式不同 2. 交叉数组二级数组可以是不规则长度, 二维数组声明以后必定是一个规则"矩形".
//交叉数组[3][] 5, 6, 7 3 1, 2
//二维数组[3,3] 1, 2, 3 4, 5, 6 7, 8, 9
遍历二维数组 for (int i = 0; i < matrix.GetLength(0); i++)
{
for (int j = 0; j < matrix.GetLength(1); j++)
Console.WriteLine(matrix[i,j]+" ");
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 数组:交错数组和多维数组的的原理
- 下一篇: C#中的交叉数组