Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.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#_Counting_Jagged Arrays - Fatal编程技术网

(C#锯齿状数组)为什么我的锯齿状数组计数正常,而不是在元素中?

(C#锯齿状数组)为什么我的锯齿状数组计数正常,而不是在元素中?,c#,counting,jagged-arrays,C#,Counting,Jagged Arrays,在下面的代码中,我不明白为什么行int[,][]jaggedArr=newint[2,3][] 需要正常计数,而不是像编码员那样在元素中练习 我最初将其输入为int[,][]jaggedArr=newint[1,2][],但不起作用 有人能解释一下为什么会这样吗 class JaggedArrays { static void Main (string[] args) { int[,][] jaggedArr = new int[2, 3]

在下面的代码中,我不明白为什么行
int[,][]jaggedArr=newint[2,3][]
需要正常计数,而不是像编码员那样在元素中练习

我最初将其输入为
int[,][]jaggedArr=newint[1,2][],但不起作用

有人能解释一下为什么会这样吗

class JaggedArrays
{            
    static void Main (string[] args)
    {
        int[,][] jaggedArr = new int[2, 3][];

        jaggedArr[0, 0] = new int[] { 0, 1, 2, 3, 4 };
        jaggedArr[0, 1] = new int[] { 5, 6, 7, 8 };
        jaggedArr[0, 2] = new int[] { 9, 10, 11, 12, 13, 14};

        jaggedArr[1, 0] = new int[] { 15, 16, 17, 18, 19 };
        jaggedArr[1, 1] = new int[] { 20, 21, 22, 23, 24 };
        jaggedArr[1, 2] = new int[] { 25, 26, 27 };

        Console.WriteLine(jaggedArr[0, 2][2]);
        Console.WriteLine(jaggedArr.Length);

        Console.ReadLine();
    }
} 

您“最初”的输入是创建一个二维数组,其中包含一(1)个条目(将其视为行),其中包含(2)个元素(将其想象为列)。您应该记住:C#使用基于0的数组。因此,使用[1]元素创建数组只允许索引0。考虑这个问题的另一个简单方法是:可用的最高索引是1,小于数组的长度。您可能会寻找一个类似于
jaggedArr.GetLength(0)
的函数来请求第一维度的计数?