数组是一个存储相同类型元素的固定大小的顺序集合。
1. 声明数组
datatype[] arrayName;
其中:
- datatype 用于指定被存储在数组中的元素的类型
- [] 指定数组打大小
- arrayName 指定数组的名称
2. 初始化数组
数组是一个引用类型,需要使用关键字 new
来创建数组的实例。
datatype[] arrayName=new datatype[number];
3. 赋值给数组
- 索引赋值
arrayName[1]=value;
- 声明数组同时赋值
datatype[] arrayName={value1,value2,……valueN};
- 创建并初始化
//不指定大小直接赋值
datatype[] arrayName=new datatype[]{value1,value2,……valueN};
//指定大小并赋值
datatype[] arrayName=new datatype[5]{value1,value2,……value5};
4. 数组引用
赋值给一个数组变量到另一个目标数组变量中,这种情况下,目标和源数组指向相同的内存位置。
int[] marks=new int[]{1,2,3};
int[] score=marks;//score 和 marks 指向相同的内存地址
5. 访问数组
通过索引访问自己的元素(索引从 0 开始):
int[] arrayInt={1,2,3};
Console.WriteLine(arrayInt[2]);
//结果为
3
6. 多维数组
又称为矩形数组,每一行的元素个数相同。
- 声明
//二维数组
datatype[,] arrayName;
//三维数组
datatype[,,] arrayName;
- 初始化
datatype[,] arrarName=new datatype[2,3];
- 赋值并访问
double[,] hillHeight={{1,2,3,4},{2,3,4,5}};
hillHeight[0,3] 的值为 4
hillHeight[1,1] 的值为 3
7. 数组的数组
与多维数组不同的是,多维数组中每一行是等长的,而数组的数组是变长数组,每一行都有不同的元素个数。
- 声明
datatype[][] arrayName;
- 初始化并赋值
//错误初始化,因为数组的数组是变长数组不能指定相同长度
arrayName=new datatype[2][3];
//方法1
arrayName=new datatype[2][];
arrayName[0]=new datatype[3];
arrayName[1]=new datatype[4];
arrayName[0][0]=1;
//方法2
arrayName=new datatype{new datatype[]{1,2,3},new datatype[]{4,5}};
8. foreach 遍历数组
int[] m=new int[100];
for(int i=0;i<100;i++){
m[i]=i+1;
}
foreach(int j in m){
Console.WriteLine(j);
}
//打印结果
从 1 打印到 100
在循环遍历数组的数组时需要使用双重 foreach。