数组是什么
数组是把一串同类型的数据排成一排存放的容器,比如全班 40 个人的成绩、一周 7 天的温度。给这一批数据起一个名字,用编号就能逐个取出,不用再声明 score1、score2、score3 这样一长串变量。
声明与初始化
C# 声明数组用「类型加中括号」:
int[] scores = new int[5]; // 开一个能放 5 个 int 的数组,元素默认全是 0
string[] names = { "小明", "小红", "小刚" }; // 直接给出初始值
double[] temps = new double[] { 36.5, 37.1, 36.8 };
最常用的是第二种大括号写法,元素个数由编译器自动数好。注意数组长度在创建时就定死了,之后不能伸缩,需要动态增减时要改用 List。
访问与修改元素
数组元素从 0 开始编号,用中括号加下标访问:
string[] names = { "小明", "小红", "小刚" };
Console.WriteLine(names[0]); // 输出:小明
Console.WriteLine(names[2]); // 输出:小刚
names[1] = "小红帽"; // 直接赋值就能修改
Console.WriteLine(names[1]); // 输出:小红帽
下标越界会抛出 IndexOutOfRangeException 异常,拿不准长度时先看下一节的 Length。
用 for 和 foreach 遍历
把每个元素都处理一遍叫遍历,for 循环配合下标最直接:
int[] scores = { 90, 85, 78 };
for (int i = 0; i < scores.Length; i++)
{
Console.WriteLine($"第 {i + 1} 个:{scores[i]}");
}
// 输出:
// 第 1 个:90
// 第 2 个:85
// 第 3 个:78
只读遍历用 foreach 更简洁,不用操心下标:
foreach (int s in scores)
{
Console.WriteLine(s); // 依次输出 90、85、78
}
要修改元素用 for,只用值就用 foreach,记住这个分工就够了。
常用属性与方法
Length 给出元素个数;Array 类还提供排序、反转等现成方法:
int[] nums = { 42, 7, 19, 3 };
Console.WriteLine(nums.Length); // 输出:4
Array.Sort(nums); // 升序排序
Console.WriteLine(nums[0]); // 输出:3
Array.Reverse(nums); // 原地反转
Console.WriteLine(nums[0]); // 输出:42
查找也有对应方法:Array.IndexOf(nums, 19) 返回元素第一次出现的位置,找不到返回 -1,配合下标判断就能做简单查找。
二维数组简介
表格类数据可以用二维数组,两个下标定位一个元素:
int[,] grid = { { 1, 2 }, { 3, 4 } };
Console.WriteLine(grid[1, 0]); // 输出:3(第 2 行第 1 列)
声明时用逗号区分维度,grid[row, col] 这种逗号写法和交错数组 int[][] 不是一回事,入门阶段先掌握逗号版即可。
小结
这篇学会了 C# 数组的核心用法:大括号初始化、下标读写元素、for 配 Length 与 foreach 两种遍历,以及 Length、Array.Sort、Array.IndexOf 等常用成员。数组长度固定、访问快,数据量确定时它是首选;数据要动态增减时再换 List。



