C# 第四篇 数组定义
假设如果有100个学生,需要定义100个变量,那么这个时候就需要数组的出现。数组是具有相同类型的一组数据的集合。
一、一维数组
一维数组实质是一组相同类型数据的线性集合。数组作为对象允许使用new关键字对其进行内存分配。
数组元素类型[] 数组名字;
在声明数组后,还不能访问它的任何元素,声明数组只是给出了数组的名称和数据类型,要想使用数组还需要分配内存空间。
数组名字 = new 数组元素类型[数组元素的个数]
arr = new int[5];
//赋值
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
//也可以这么赋值
int[] arr = new int[5]{1,2,3,4,5};在使用new关键字为数组分配内存时,整形数组中各元素的初始值为0.
二、二维数组
二维数组是一种特殊的多维数组,声明时用多个“[]”或者在中括号中加逗号表明是多维数组。如有N个中括号或者N个逗号即为多维数组。
定义二维数组
int[][] arr = new int[][];
//或者这种
int[,] arr = new int[,];
//赋值
int[,] arr = new int[2,2]{{12,0},{45,10}};对于二维数组索引序列arr[a][b] , a决定是第几行,b决定是第几列,数组索引从0开始;
三、不规则数组的定义
C#中支持定义不规则的数组,有时二维数组的不同行的元素个数完全不同
int[][] arr = new int[3][]; //指定行数不指定列数的二维数组 a[0] = new int[5]; //为第一行分配5个元素 a[1] = new int[3]; //为第一行分配3个元素 a[2] = new int[4]; //为第一行分配4个元素
四、数组与Array类
C#中的数组是由Array类派生的引用对象。可以使用Array类中的各种属性或方法对数组进行各种操作。
| 方法 | 作用 |
| Copy | 将数组中的指定元素复制到另一个Array中 |
| CopyTo | 从指定的目标数组索引处开始,将当前一维数组中的所有元素复制到另一个一维数组中 |
| Exists | 判断数组中是否包含指定的元素 |
| GetLength | 获取Array中指定维中的元素数 |
| GetLowerBound | 获取Array中指定维度的下限 |
| GetUpperBound | 获取Array中指定维度的上限 |
| GetValue | 获取Array中指定位置的值 |
| Reverse | 反转一维Array数组中的元素的顺序 |
| SetValue | 设置Array中指定位置的元素 |
| Sort | 对一维Array数组中的元素进行排序 |
五、数组的操作
5.1 使用foreach语句遍历数组
foreach语句用来遍历集合中的每个元素。
foreach(类型 迭代变量名 in 集合)
{
语句
}5.2 对数组进行排序
C#提供了用于对数组进行排序的方法:Array.Sort方法和Array.Reverse方法。
Array.Sort方法:仅对一维数组进行排序,不能是空的数组;
Array.Sort(数组名); //要排序的数组,排序范围的起始索引,排序范围的个数 Array.Sort(数组名,int index,int length);
Array.Reverse方法: 用于反转一维Array数组中的元素顺序;
Array.Reverse(数组名); //要反转的数组,反转部分的起始索引,反转索引的个数 Array.Reverse(数组名,int index,int length)

