首页/ 第 5 章 · C# 编程基础/ 第 57 课
LESSON 57 · C# 编程基础

数组 Array

数组已掌握。下一课学可动态增删的 List。

⏱ 约 14 分钟📊 难度:入门🗂 第 5 章 · C# 编程基础📍 第 57 / 300 课
课程进度
57 / 300

🎯本节学习目标

  • 掌握数组声明与初始化
  • 掌握下标访问元素
  • 掌握数组遍历

🚀课程导读

要存 100 个敌人的血量,总不能建 100 个变量。数组就是“一排带编号的抽屉”。

数组的声明与初始化

三种写法。

  1. 语法:数据类型[] 数组名; 例:int[] scores;
  2. 【初始化方式1】指定长度:int[] scores = new int[5]; // 5 个默认值 0
  3. 【初始化方式2】直接给值:int[] scores = { 90, 80, 70, 60, 50 }; // 自动确定长度
  4. 【初始化方式3】new + 值:int[] scores = new int[] { 1, 2, 3 };
  5. 数组长度固定,创建后不能增删元素。
  6. 【访问元素】用下标(索引):scores[0] 是第一个元素,scores[1] 第二个……下标从 0 开始!
  7. 【数组长度】scores.Length 返回元素个数。
  8. 给元素赋值:scores[0] = 100;
下标从 0 开始是新手第一坑:长度 5 的数组,最大下标是 4,访问 scores[5] 会越界报错。

遍历数组

for 与 foreach 皆可。

  1. for 遍历:for (int i = 0; i < scores.Length; i++) { Debug.Log(scores[i]); }
  2. foreach 遍历:foreach (int s in scores) { Debug.Log(s); }
  3. for 可以改元素(scores[i] = 0),foreach 只读。
  4. 【求和】:int sum = 0; for (...) { sum += scores[i]; }
  5. 【找最大值】:int max = scores[0]; for (...) { if (scores[i] > max) max = scores[i]; }
  6. 数组在 Unity 中常用于:配置关卡数据、存储一批点位、敌人列表等。
  7. 【多维数组】进阶:int[,] grid = new int[3,3]; 二维网格,先了解。
💡
要“动态增删”的集合用 List(第 58 课),数组适合数量固定的数据。

常见错误与排查

错误:报错:IndexOutOfRangeException?
原因:访问了超出范围的下标
解决:检查循环边界是否用了 <= 而越界;改用 scores.Length 作为上限。

动手练习

课后小任务(做出来才算真的学会)

  • 声明一个 5 元素的 float 数组并全部赋值
  • 用 for 求和并打印平均分
  • 用 for 找出数组中的最大值

本节小结

数组已掌握。下一课学可动态增删的 List。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课break 与 continue 控制循环