C#中的Array数组类(附带实例)
C# 中的数组是由 System.Array 类派生而来的引用对象,其关系图如下图所示:

图 1 数组与Array类的关系图
可以使用 Array 类中的各种属性或者方法对数组进行各种操作。例如可以使用 Array 类的 Length 属性获取数组元素的长度,可以使用 Rank 属性获取数组的维数。
Array 类的常用方法及说明如下表所示:
【实例】使用数组编写程序打印杨辉三角。
使用数组打印杨辉三角,杨辉三角是一个由数字排列成的三角形,其本质特征是它的两条边都是由数字 1 组成的,其余的数则等于它上方的两个数之和,代码如下:

图 1 数组与Array类的关系图
可以使用 Array 类中的各种属性或者方法对数组进行各种操作。例如可以使用 Array 类的 Length 属性获取数组元素的长度,可以使用 Rank 属性获取数组的维数。
Array 类的常用方法及说明如下表所示:
| 方法 | 说明 |
|---|---|
| Copy | 将数组中的指定元素复制到另一个 Array 中 |
| CopyTo | 从指定的目标数组索引处开始,将当前一维数组中的所有元素复制到另一个一维数组中 |
| Exists | 判断数组中是否包含指定的元素 |
| GetLength | 获取 Array 的指定维中的元素个数 |
| GetLowerBound | 获取 Array 中指定维度的下限 |
| GetUpperBound | 获取 Array 中指定维度的上限 |
| GetValue | 获取 Array 中指定位置的值 |
| Reverse | 反转一维 Array 中元素的顺序 |
| SetValue | 设置 Array 中指定位置的元素 |
| Sort | 对一维 Array 数组元素进行排序 |
【实例】使用数组编写程序打印杨辉三角。
使用数组打印杨辉三角,杨辉三角是一个由数字排列成的三角形,其本质特征是它的两条边都是由数字 1 组成的,其余的数则等于它上方的两个数之和,代码如下:
static void Main(string[] args)
{
int[][] Array_int = new int[10][]; // 定义一个10行的二维数组
// 向数组中记录杨辉三角的值
for (int i = 0; i < Array_int.Length; i++) // 遍历行数
{
Array_int[i] = new int[i + 1]; // 定义二维数组的列数
for (int j = 0; j < Array_int[i].Length; j++) // 遍历二维数组的列数
{
if (i <= 1) // 如果是数组的前两行
{
Array_int[i][j] = 1; // 将其设置为1
continue;
}
else
{
if (j == 0 || j == Array_int[i].Length - 1) // 如果是行首或行尾
Array_int[i][j] = 1; // 将其设置为1
else
Array_int[i][j] = Array_int[i - 1][j - 1] + Array_int[i - 1][j]; // 根据杨辉算法进行计算
}
}
}
for (int i = 0; i <= Array_int.Length - 1; i++) // 输出杨辉三角
{
// 循环控制每行前面打印的空格数
for (int k = 0; k <= Array_int.Length - i; k++)
{
Console.Write(" "); // 输出空格
}
// 循环控制每行打印的数据
for (int j = 0; j < Array_int[i].Length; j++)
{
Console.Write("{0} ", Array_int[i][j]);
}
Console.WriteLine(); // 换行
}
Console.ReadLine();
}
程序运行结果为:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
在第 17 行代码中,j==0 判断是不是行首,j==Array_int[i].Length-1 判断是不是行尾,因为在杨辉三角中,每一行的行首和行尾都是 1,所以这里进行了特殊处理。
ICP备案:
公安联网备案: