C#数组概括与分析
- 数组:其实就是若干个变量组成的集合;
- 分类:由数组的维数(秩)分为一维数组、多维数组。(数组型数组)
一维数组
创建和声明
- (使用new运算符)
- 创建声明:(例)
1.创建声明同时:int[]s=new int [4];//int数组类型,s数组名,4数组长度。
2.先声明后创建:
int[]s;//声明一个数组。
a=new int[4];//创建这个数组。
初始化
- 注意:若没有初始化数组,则数组元素将自动初始化为该数组类型的默认初始值。以及C#不允许部分元素进行初始化。
- 初始化分类:(例)
1.创建时初始化:int[]s=new int[4]{1,2,3,4};//其中数组长度4可省略,系统会根据{}里面的元素个数确定数组长度。
2.先声明后初始化:
int []s;
a=new int[]{1,2,3,4};//创建数组时初始化
3.先创建后逐个元素初始化:
int[] s=new int[2];//创建数组,指明数组长度。
s[0]=9;s[1]=7;//逐个元素初始化。
引用数组元素
- 把数组元素当成一个普通变量即可。
- 引用:以这个元素的索引来引用其值。
- 例:s[0]=5;//将5赋给数组s种第一个元素。
- Array类中由各种方法可对数组进行操作。
多维数组
声明和创建
- 例:int[ , ,]s=new int[2,3,4];//int为数组类型,第一个[]里面时逗号列表(逗号+1=数组维度),第二个[]里面时维度长度列表,就是定义的每个维度的长度(数组元素个数=每个维度的长度乘积);
初始化
- 注意:
1.每个维度的初始化值放在**单独的一个{}中:如int[,]s=new int[2,3]{{1,2},{2,3}};
2.可省略维度长度列表,系统会根据后面初始化值来维度和维度长度:int[,]s=new int[,]{{1,2},{2,3}};
3.可简写为:int[,]s={{1,2},{2,3}};
4.不容许部分初始化
引用数组元素
- 例:s是个二维数组:数组元素a[2,3],其中2、3分别是一个维度的索引。
数组型数组
- 数组型数组就是一个数组里面的元素又是数组,包含在数组中的数组称子数组。
创建和声明
- 例子:
int[][]s=new int[2][];//2表示这个数组里有两个元素(数组),等号前面的[],里面是大数组的维度(这里为空就是一维),后一个[]是子数组的维数,2后面的[]也是子数组的维度。这里表示由两个一维数组构成一维数组s。
初始化
- 创建时初始化:如int[][]s=new int[][]{new int[] {2,3,4},new int[] {1,2,3}};
- 先声明后初始化:
int[][]s=new int[2][];
s[0]=new int[4] {1,2,3,4};
s[1]=new int[4] {2,3,4,5};
引用数组元素
- 例:s[1][2]其中1是大数组的索引,2是小数组的索引,这里表示引用第2个数组中的第3个数组元素。
参考书籍:《C#程序经典教材》罗福强等主编