C# [,]二维阵列和[]二维阵列在功能上有什么区别吗?

C# [,]二维阵列和[]二维阵列在功能上有什么区别吗?,c#,arrays,C#,Arrays,这两个数组是否可以相互对话,或者它们是否需要相同的类型,即[,]只能与其他[,]数组对话 或者如果我有: char [,] 2darray =new char [2,2]; 它能否将其值传递给具有2d数组的方法,如: Shirts(char [][] sizes) 这是一段伪代码,例如,我只想知道这种类型的数组调用之间的区别,如果有的话,以及它们是否可以相互对话。这两种类型是不同的。它们在内存中有不同的表示形式,因此不能互换 二维数组charm[,]需要具有相同大小的行,并且所有行都必须存在

这两个数组是否可以相互对话,或者它们是否需要相同的类型,即[,]只能与其他[,]数组对话

或者如果我有:

char [,] 2darray =new char [2,2];
它能否将其值传递给具有2d数组的方法,如:

Shirts(char [][] sizes)

这是一段伪代码,例如,我只想知道这种类型的数组调用之间的区别,如果有的话,以及它们是否可以相互对话。

这两种类型是不同的。它们在内存中有不同的表示形式,因此不能互换

二维数组
charm[,]
需要具有相同大小的行,并且所有行都必须存在。相反,一个数组
charm[][]
允许具有可变长度的行,甚至一些缺少的行

数组数组的元素是数组,可以作为单独的实体传递。二维阵列是单个单元;它的索引器操作符需要为每个维度创建索引。换句话说,你可以做到这一点

char m[][] ...
char r[] = m[2]; // Allowed
但你不能这样做

char m[,] ...
char r[] = m[2]; // Does not compile

其中一个是2D数组,另一个是数组数组?请你再详细一点好吗?我想我明白你的意思,但我不能完全肯定。