C#数组学习笔记(初学)

数组是一种由若干个变量组成的集合,数组中包含的 变量称为数组元素,它们具有相同的类型。 数组元素可以是任何类型,但没有名称,只能通过索 引(又称下标,表示位置编号)来访问。一维数组的元素个数称为一维数组的长度。

1. 一维数组

声明和创建一维数组的一般形式如:
数组类型[] 数组名 = new 数组类型[数组长度]
初始化的三种方式:

  1. 创建数组时,初始化。
    ◼ 数组类型[] 数组名 = new 数组类型[数组长度]{初始值列表}
    Eg:
    int[ ] a = new int[ ] { 3, 4, 5 }; // 更推荐使用这一个,代码可读性更好
    或者 int [ ] a = { 3, 4, 5 };

  2. 先声明,后初始化。
    C#允许先声明一维数组,然后再初始化各数组元素。其一般形式 :
    ◼ 数组类型[] 数组名;
    ◼ 数组名 = new 数组类型[数组长度] {初始值列表};
    Eg:
    int [ ] a ;
    a = new int [ 3 ] {3 , 4, 5 };

  3. 先创建, 后初始化。
    C#允许先声明和创建一维数组,然后逐个初始化数组元素。其一 般形式:
    ◼ 数组类型[] 数组名 = new 数组类型[数组长度];
    ◼ 数组元素 = 值;
    Eg:
    int [ ] a = new int [ 3];
    a[ 0] = 3;
    a[ 1] = 4;
    a[ 2] = 5;

    数组是若干个数组元素组成的。每一个数组元素相当于一 个普通的变量,可以更改其值,也可以引用其值。使用数 组元素的一般形式:数组名[索引]

    一维数组的操作
    ◆ C#的数组类型是从抽象基类型System.Array 派生的。
    ◆ Array类的Length属性返回数组长度。
    ◆ Array类的方法成员:Clear、Copy、Sort、Reverse、 IndexOf、LastIndexOf 、Resize等,分别用于清除数组元素的 值、复制数组、对数组排序、反转数组元素的顺序、从左至右查 找数组元素、从右到左查找数组元素、更改数组长度等。
    ◆ Sort、Reverse、IndexOf、LastIndexOf 、Resize只能针对一 维数组进行操作。

2. 多维数组
声明和创建多维数组一般形式:
◆ 数组类型[逗号列表] 数组名 = new 数组类型[维度长度列表]
逗号列表的逗号个数加1就是维度数
◆ 即如果逗号列表为一个逗号,则称为二维数组;
◆ 如果为两个逗号,则称为三维数组,依此类推。
◆维度长度列表中的每个数字定义维度的长度,数字之间 以逗号作间隔。

类似于一维数组:

  1. 创建数组时,初始化。
    int [ , ] a = new int [ 2, 3 ] {{ 1 , 2 , 3} , { 3 , 2, 1} };
    或者 int [ , ] a = {{1 , 2 ,3 } , { 3, 2, 1} }; // 除这一种,其余均要有new

  2. 先声明,后初始化。
    int [ , ] a ;
    a = new int [ , ] {{1, 2, 3 }, { 3, 2, 1}};

  3. 先创建, 后初始化
    int [ , ] a = new int [ 2, 3];
    a[ 0 , 0 ] = 1;
    a[ 0 , 1 ] = 2; //…

3. 数组型数组
数组型的数组是一种由若干个数组的构成数组。
声明数组型数组的格式如下:

 ◆  数组类型[维度][子数组维度] 数组名 =new 数组类型[维度长度][子数组维度] 	
 
 省略维度为一维数组,省略子数组的维度表示 子数组为一维数组。

数组型数组同样有多种初始化方式,包括创建时初始化、 先声明后初始化等。其中,创建时初始化可省略维度长度。
对于数组型的数组来说,可按以下格式引用子数组的 每一个元素:

                  数组名[索引列表][索引列表]

int [ ] [,] a = new int[ 2][ ,] ; //创建了2个二维子数组 所构成的一维数组a

在声明数组型的数组时,不能指定子数组的长度。
Eg:
int[ ] [ ] a = new int [ 2 ][ 3 ]; /* 是错误的,因为在子数组中的数据是不要求统一的 */

初始化
Eg:
int [ ][ ] a = new int [ ][ ] {new int []{1,2,3} , new int[ ]{4 ,5 ,6} };

=
int [ ][ ] a = new int [ 2 ][ ];
a[ 0] = new int [ 3] {1 , 2 ,3 };
a[ 1] = new int [ 3] {4, 5 , 6 };
还可以 让上面的 a[ 1] = new int [ 4] = { 4 ,5 ,6 ,7};

发布了1 篇原创文章 · 获赞 0 · 访问量 17

猜你喜欢

转载自blog.csdn.net/qq_41941392/article/details/104636237