还是不明白,我的问题在这里:for (int i = 0; i < MultiArray2.Length; i++) //??MultiArray2.Length是总元素个数,不是行数啊?? 我总觉得这里是行数,而不是元素总个数
是不理解成行不重要,关键是: for (int i = 0; i < MultiArray2.Length; i++) MultiArray2[i] = new int[20 + i];//为简化问题,元素都是默认0这个语句怎么理解?i应该表示一维成员个数,就是有i个小数组,每一个小数组用MultiArray2[i] = new int[20 + i];建立成具体数组;但是,MultiArray2.Length不是一维成员个数,是元素总个数啊?
MultiArray2[i]中的i是当前第一维的位置,或是序数,而非i个小数组。 看看你循环for (int i = 0; i < MultiArray2.Length; i++)的终值MultiArray2.Length,为什么是这个呢?因为这个值是第一维的长度,第一维的元素个数,而不是各维元素的总和!
我总觉得这里是行数,而不是元素总个数
for (int i = 0; i < MultiArray2.Length; i++)
MultiArray2[i] = new int[20 + i];//为简化问题,元素都是默认0这个语句怎么理解?i应该表示一维成员个数,就是有i个小数组,每一个小数组用MultiArray2[i] = new int[20 + i];建立成具体数组;但是,MultiArray2.Length不是一维成员个数,是元素总个数啊?
MultiArray2[i]中的i是当前第一维的位置,或是序数,而非i个小数组。
看看你循环for (int i = 0; i < MultiArray2.Length; i++)的终值MultiArray2.Length,为什么是这个呢?因为这个值是第一维的长度,第一维的元素个数,而不是各维元素的总和!