数组是由一个变量名称表示的一组同类型的数据元素。每个元素通过变量名称和一个或多个方括号中的索引来访问。
C#中不支持动态数组 数组一旦创建,大小就固定了。
数组索引号从0开始。
C#提供了两种类型的数组:
一维数组可以认为是单元元素或元素向量;
多维数组是由主向量中的位置组成,每一个位置本身又是一个数组,称为子数组。子数组向量中的位置本身又是一个子数组。
有两种类型的多维数组:矩形数组和交错数组,
特效如下:
1.某个维度的所有子数组有相同长度的多维数组。
2.不管有多少维度,总是使用一组方括号。
int x=myArray2[4,6,1] //一组方括号
交错数组:
1.每一个子数组都是独立数组的多维数组;
2.可以有不同长度的子数组;
3.为数组的每一个维度使用一对方括号。
jagArray1[2][4][7] //三组方括号
实例化一维数组或矩形数组:
数组创建表达式由new运算符构成,后面是基类名称和一对方括号,方括号中以逗号分隔每一个维度的长度。
例;
一维数组:
int[] arr=new int[10]; // 方括号中表示数组长度(元素个数)
矩形数组:
int[,,] arr=new int[1,2,3] //方括号中表示维度长度 此数组长度为1*2*3=6
访问数组元素:
在数组中使用整数值作为索引来访问数组元素。
每一个维度的索引从0开始;
方括号内的索引在数组名称之后。
int[] arr1=new int[10]; //声明一维数组
arr1[2]=10; //赋值 数组第三个元素赋值为10
int var1=arr1[2]; // 取值 获取数组第三个元素的值
例:
int[] arr1=new int[5];
for (int i = 0; i < 5;i++ )
{
arr1[i] = i + 10;
}
for (int j = 0; j < 5;j++ )
{
Console.WriteLine("arr[{0}] is {1}",j,arr1[j]);
}
初始化数组:
当数据被创建后,每一个元素被自动初始化为类型的默认值。对于预定义的类型,整型默认为0,浮点型的默认值为0.0,布尔型的默认值为false,而引用类型的默认值为null。
显式初始化一维数组:
初始值必须以逗号分隔,并封闭在一组大括号内;
int[] arr1=new int[]{1,2,3,4}; 等价于 int[] arr1={1,2,3,4};
显式初始化矩形数组:
每一个初始值向量必须封闭在大括号内。
每一个维度也必须嵌套并封闭在大括号内。
除了初始值,每一个维度的初始化列表和组成部分也必须使用逗号分隔。
int[,] arr2=new int[,]{{10,1},{11,2},{12,3}}
交错数组(有点乱 后续补充学习):
int[][] jasArray=new int[3][];