Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 多维数组与交错数组长度法_C# - Fatal编程技术网

C# 多维数组与交错数组长度法

C# 多维数组与交错数组长度法,c#,C#,为什么[,]样式数组Length方法与[]]锯齿样式数组Length方法的不同之处在于,在锯齿数组中,Length方法返回最近秩的大小,如[,]样式数组Length方法不仅返回最接近秩的元素的总数(因此需要使用GetLength()方法。)锯齿数组([[]])数组,其中元素类型也是数组[],因此基本上只是一维数组 多维数组([,])是具有多个维度的数组,但所有元素都在同一数组中 Length属性来自MSDN: 获取数组所有维度中的元素总数 根据锯齿数组中的Length,此属性返回它包含的数组数

为什么
[,]
样式数组
Length
方法与
[]]
锯齿样式数组
Length
方法的不同之处在于,在锯齿数组中,Length方法返回最近秩的大小,如
[,]
样式数组
Length
方法不仅返回最接近秩的元素的总数(因此需要使用
GetLength()
方法。)

锯齿数组(
[[]]
)数组,其中元素类型也是数组
[]
,因此基本上只是一维数组

多维数组(
[,]
)是具有多个维度的数组,但所有元素都在同一数组中

Length
属性来自MSDN

获取数组所有维度中的元素总数

根据锯齿数组中的
Length
,此属性返回它包含的数组数

在多维数组中,此属性返回其中的所有元素,即所有维度大小的乘积

GetLength(int)
fromMSDN

获取一个整数,该整数表示数组指定维度中的元素数

对于锯齿状数组使用此方法,唯一可用的维度是
0
,它返回与
Length
属性相同的值


在多维数组中,可以传递所需维度的从零开始的索引。例如,在
[,]
中,可用的维度是
0
1
2

@PatrickKostjens,我已经读过了,但我不明白具体长度方法的区别。我的意思是,为什么锯齿状数组中的length方法与“normal”数组中的length方法的结果不同。有什么原因吗?因为
Length
返回数组中的元素数。在多维数组中,这自然是元素总数,因为有一个数组包含n个元素。锯齿数组实际上是数组的和数组,因此
Length
返回数组的数目,因为
something[x]
包含x个元素。
something
int
string
还是
somethingElse[]
应该没有区别。另一方面,
something[x,y]
是一个包含x*y元素的对象。