一、交错数组核心概念交错数组又叫锯齿数组大数组里面存小数组数组的每一个元素本身又是一个数组。最大特点内部每个小数组的长度可以不一样参差不齐二、交错数组 vs 多维数组必背区别1. 多维数组二维、三维写法int[,]每一行长度必须完全相同属于规整表格结构2. 交错数组锯齿数组写法int[][]、string[][]多组中括号每个内层数组长度可以不同灵活、不规整实际开发使用更多三、交错数组初始化完整代码外层数组存放多个长度不一致的一维数组// 三个长度不同的一维数组 int[] i1s new int[4] { 1, 2, 3, 4 }; // 长度4 int[] i2s new int[] { 1, 2, 3, 4, 5 }; // 长度5 // 定义双层交错数组 int[][] ints new int[][] { i1s, // 第0个小数组4个元素 i2s, // 第1个小数组5个元素 new int[]{1,2,3,4,5,999} // 第2个小数组6个元素 };四、交错数组取值两种方式1. 分步取值先取内层数组再取元素// 1.先取出外层数组中索引为1的内层数组 int[] arr ints[1]; // 2.再取出内层数组下标4的元素 int a arr[4]; Console.WriteLine(a); // 52. 一行直接取值常用语法交错数组[外层下标][内层下标]// 第2个内层数组第5个元素 Console.WriteLine(ints[2][5]); // 999五、交错数组修改元素// 修改第1个内层数组、下标2位置的数据 ints[1][2] 888;六、双层 for 循环遍历最核心遍历逻辑 1. 外层循环遍历有多少个数组外层长度 ints.Length 2. 内层循环遍历当前小数组里面有多少元素ints[i].Lengthfor (int i 0; i ints.Length; i) { // 打印每一个内层数组的长度各不相同 Console.WriteLine(ints[i].Length sssssss); // 遍历当前内层数组的所有元素 for (int j 0; j ints[i].Length; j) { Console.WriteLine($({i}:{j}{ints[i][j]})); } }七、双层 foreach 遍历逻辑先遍历外层得到一个个小数组再遍历小数组得到具体值foreach (int[] item in ints) { // item 就是每一个内层一维数组 foreach (int item1 in item) { Console.WriteLine(item1 ); } }八、多维数组 vs 交错数组 终极对比对比项多维数组 int[,]交错数组 int[][]书写符号逗号分隔[,]多组中括号[][]长度规则所有行、列长度必须一致每个内层数组长度可以不同结构规整表格参差不齐、灵活嵌套取值方式arr[i,j]arr[i][j]遍历长度GetLength(0)、GetLength(1)外层Length、内层单独Length九、背诵总结int[,]二维规整数组长宽一致int[][]交错锯齿数组长短不一交错数组取值数组[外层下标][内层下标]遍历必须双层循环外层遍历数组个数内层遍历当前数组元素