C#数组
参考书籍《C#图解教程》
c#的数组是引用类型的,所以数据放在堆里面。
一维数组
//下面几句等价,定义4个元素
int[] arr = new int[4];
int[] arr = new int[4] {0,0,0,0};
int[] arr = new [] {0,0,0,0};
int[] arr = {0,0,0,0};
var arr = new int[4]{0,0,0,0};
var arr = new int[]{0,0,0,0};
var arr = new []{0,0,0,0};
var arr = {0,0,0,0}; //错误!!var无法判断其类型。
int[] arr2 = new int[5]{1,2,3}; //错误!!如果定义了长度,后面的初始化列表就必须要5个元素,不会自动补0。
多维数组
声明定义里,方括号里面的逗号’,’,叫做秩说明符,可以理解为“维度”。
//和一维数组一样,有多种初始化。
int[,] mulArr = new int[,]{{1,2},{3,4}}; //要确保每一个相同等级的花括号里面元素个数要一样。
交错数组
这个就有点像C++的指针数组了。可以定义长度不一的多维数组。
//创建实例分两步。
//第一步,只能初始化顶层数组,如下。
int[][] jagArr = new int[3][];
int[][] jagArr = new int[3][4]; //错误!!只能初始化顶层数组。
//第二步,分别初始化子数组。
jagArr[0] = {1};
jagArr[1] = {9,2};
jagArr[2] = {4,3,5};