在C语言中我们早就知道二维数组是如何声明定义的 int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
而在C#中二维数组却是这样声明定义的int[,] a={{1,2,3},{2,3,4},{5,6,7},{8,9,10}}
从上面两张表格可以看出,其实两者是完全一致的,只是从C#作为面向对象的语言的特性,无法直接在声明时候指定数组的大小。
一般来说变量在声明时候是不会分配内存的,只是为这个变量分配一个指针地址,因此在C#中只有当new实例化一个对象后,系统才会分配内存。
在C#中数据通常分为二种类型:值类型,引用类型;而指针类型则是要人为的去添加启用才能使用。
因此对于数组来说,在C语言中数组名其实相当于是数组的首地址,而在C#中可以认为是对数组对象的引用
在使用方面,两种方式对数组的索引也是一致的,只是在写法上有所不同而已。
那么如果C#中的 int[ ][ ] a 又是什么呢?其实是交错数组啦~
所以我们可以知道交错数组其实是每个元素为数组的数组,同时每个元素的数组可以是维度和大小不同的数组,而交错数组的长度就是第一个方括号内的数字。
交叉数组的初始化方法:
标签:C#,int,二维,分配内存,数组,声明 From: https://www.cnblogs.com/AzuresMK/p/16852961.html