在C#中,数组(Array) 是一种用于存储多个相同类型的元素的数据结构。数组提供了一种方便的方式来管理和操作一组数据,无论这些数据是整数、浮点数、字符串还是自定义对象。数组是编程中最基本和最常用的数据结构之一,广泛应用于各种场景,如数据存储、排序、搜索等。
1. 基本概念
1.1 数组的定义
数组是一种线性数据结构,它允许我们将多个相同类型的元素存储在一个连续的内存块中。每个元素都有一个唯一的索引,用于访问该元素。数组的索引从0开始,即第一个元素的索引为0,第二个元素的索引为1,依此类推。
声明和初始化数组:
int[] numbers = new int[5]; // 声明一个包含5个整数的数组
numbers[0] = 1; // 给第一个元素赋值
numbers[1] = 2;
numbers[2] = 3;
numbers[3] = 4;
numbers[4] = 5;
// 或者直接初始化数组
int[] numbers = { 1, 2, 3, 4, 5 };
1.2 数组的特点
- 固定大小:数组一旦创建,其大小是固定的,不能动态增加或减少元素的数量。
- 随机访问:可以通过索引快速访问数组中的任意元素,时间复杂度为O(1)。
- 类型一致性:数组中的所有元素必须具有相同的类型。
1.3 多维数组
除了单维数组外,C#还支持多维数组,如二维数组、三维数组等。多维数组可以用来表示矩阵、表格等数据结构。
声明和初始化二维数组:
int[,] matrix = new int[3, 3]; // 声明一个3x3的二维数组
matrix[0, 0] = 1; // 给第一个元素赋值
matrix[0, 1] = 2;
matrix[0, 2] = 3;
matrix[1, 0] = 4;
matrix[1, 1] = 5;
matrix[1, 2] = 6;
matrix[2, 0] = 7;
matrix[2, 1] = 8;
matrix[2, 2] = 9;
// 或者直接初始化二维数组
int[,] matrix = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
2. 主要用途
2.1 数据存储
数组最常见的用途是存储一组相关数据。例如,存储学生的成绩、员工的工资等。
示例:存储学生的成绩
public class StudentScores
{
public static void Main(string[] args)
{
int[] scores = { 90, 85, 78, 92, 88 }; // 存储学生的成绩
Console.WriteLine("Student scores:");
for (int i = 0; i < scores.Length; i++)
{
Console.WriteLine($"Score {i + 1}: {scores[i]}");
}
}
}
执行结果:
Student scores:
Score 1: 90
Score 2: 85
Score 3: 78
Score 4: 92
Score 5: 88
执行分析:
- 在
Main
方法中,首先定义了一个包含学生分数的数组scores
。 - 使用
for
循环遍历数组并输出每个分数。
2.2 排序和搜索
数组常用于排序和搜索算法,如冒泡