C# 数组越界来思考数组的空间分配(交错(非矩形)数组)
2010-02-24 16:09
225 查看
int[][] myArray3 = new int[3][] { new int[3] { 5, 6, 2 }, new int[5] { 6, 9, 7, 8, 3 }, new int[2] { 3, 2 } };
Console.Write(myArray3[2][2]);
以上代码出现越界的错误,因为第三行只有两列;如果是myArray3[1][2]则可以,因为第二行有5列;
要不这样也行:
(多维数组 :int[,] arr4 = new int [2,3] { {1,2,3}, {4,5,6} };
int[,] arr5 = new int [,] { {1,2,3}, {4,5,6} };
int[,] arr6 = { {1,2,3}, {4,5,6} }; int[, ,] arr7 = new int[,,] { { { 1, 2, 3 } }, { { 4, 5, 6 } } };//
可以使用 C# 创建规则的多维数组,多维数组类似于同类型值的矩阵。虽然 Java 和 C# 都支持交错数组,但 C# 还支持多维数组(数组的数组)。 )
Console.Write(myArray3[2][2]);
以上代码出现越界的错误,因为第三行只有两列;如果是myArray3[1][2]则可以,因为第二行有5列;
要不这样也行:
(多维数组 :int[,] arr4 = new int [2,3] { {1,2,3}, {4,5,6} };
int[,] arr5 = new int [,] { {1,2,3}, {4,5,6} };
int[,] arr6 = { {1,2,3}, {4,5,6} }; int[, ,] arr7 = new int[,,] { { { 1, 2, 3 } }, { { 4, 5, 6 } } };//
可以使用 C# 创建规则的多维数组,多维数组类似于同类型值的矩阵。虽然 Java 和 C# 都支持交错数组,但 C# 还支持多维数组(数组的数组)。 )
相关文章推荐
- C#二维数组(矩形数组,交错数组)
- (教学思路 C#数组二)数组的属性、foreach遍历、交错数组与矩形数组的区别
- C#新手入门代码 二维int型矩形数组与交错数组
- C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用
- 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)
- Delphi中使用SetLength分配的动态数组空间在越界赋值后出现invalid pointer operation异常
- 二维指针、数组指针和指针数组存储空间的动态分配和释放
- C#交错数组
- 给指针malloc分配空间后就等于数组吗?
- C#指针使用与stackalloc分配空间
- 字符串数组的空间分配与释放
- delphi中为动态数组分配空间的问题
- new分配数组空间
- C# 交错数组
- 定义两个整型指针,分别用malloc、calloc对其分配空间保存3个元素,malloc分配的空间用memset清零,随机对数组进行赋值随机范围1-3,赋值后用memcmp比较两个数组。如果相同打印G
- new 动态分配数组空间 .xml
- C++中小心谨慎的为数组分配空间
- C语言malloc函数为一维,二维,三维数组分配空间