刚开始学想问大家个问题

刚开始学想问大家个问题

        int totale = 0;
        int[][] arr = new int[2][];
        arr[0] = new int[] { 1, 2, 3 };
        arr[1] = new int[] { 10, 11, 12 };
        foreach (int[] arrry in arr)
        {
            foreach (int intem in arrry)
            {

                totale += intem;  

                Console.WriteLine($"{intem},{totale}");
运行结果及报错内容 为啥totale是0但是加上intem结果为1,1

2,3
3,6
10,16
11,27
12,39

这不是一个双重for循环遍历吗
totale 一开始是0,然后它在循环过程中加上二维数组里的每一个元素
那第一个元素是1,加完不变成1了吗
第二个元素是2,加完不变成3了吗

intem数组元素,从arr[0][0]开始遍历,最后39是所有元素的和。totale 里存的就是元素之和哈

totale += intem;
intem表示二维数组的每个元素值,totale对元素值进行累加。你这个WriteLine是在每次累加时的输出,所以会输出每次循环的intem值和元素累加值

totale初始值是0,第一次外层循环 arrry={1,2,3},第一次内层循环 intem=1 totale += intem 即 totale=0+1=1,所以打印1,有问题吗
PS:单词请正确拼写,不行用拼音,看着难受

结果对着呢啊,
两层for循环,
第一层遍历两个 int[]
第二层分别遍历int[] 中的元素int
totale += intem; ======>>> totale = totale + intem;
所以是
第一层

  1. 0+1=1
  2. 1+2=3
  3. 3+3=6
    然后第二层
  4. 6+10=16
  5. 16+11=27
  6. 27+12=39