索引与长度
安全地访问元素。
索引与长度 是 CoddyKit 上的免费 C# Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 C# Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 C# Academy 课程共包含 4 节课。
按索引读取
数组中的每个元素都有一个称为索引的位置。要读取值,请将索引放在数组名称后的方括号中。
索引从 0 开始,因此第一个元素的索引是 0。
string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[0]); // Mon从零开始计数
由于索引从 0 开始,第二个元素的索引是 1,第三个元素的索引是 2。
这种从零开始的计数方式容易让初学者困惑,请记住:索引 = 位置减一。
string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[1]); // Tue
Console.WriteLine(days[2]); // Wed更改元素
您可以为某个索引赋予新值,从而覆盖任意元素。
这里我们替换索引 1 处的值。数组长度不会改变,只有存储的值发生了变化。
int[] nums = { 5, 6, 7 };
nums[1] = 99;
Console.WriteLine(nums[1]); // 99长度属性
每个数组都有一个 Length 属性,用于告诉您其中包含多少个元素。
这很方便,因为您不必自己记住数组的大小。
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums.Length); // 4最后一个元素
最后一个有效索引始终是 Length - 1,因为计数从 0 开始。
使用 Length - 1,您无需将数字硬编码即可找到最后一个元素。
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[nums.Length - 1]); // 8从末尾开始的索引运算符
C# 提供了使用 ^ 运算符从末尾开始计数的快捷方式。^1 表示最后一个元素,^2 表示倒数第二个元素。
这是一种简洁地获取末尾元素的方法,无需编写 Length - 1。
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[^1]); // 8完整程序
这个完整程序会打印第一个元素、最后一个元素以及总长度。
运行它,观察这三个值依次出现。
int[] nums = { 10, 20, 30 };
Console.WriteLine("First: " + nums[0]);
Console.WriteLine("Last: " + nums[nums.Length - 1]);
Console.WriteLine("Count: " + nums.Length);索引越界错误
如果使用过大或为负数的索引,C# 会抛出 IndexOutOfRangeException,程序也会崩溃。
对于长度为 3 的数组,有效索引只有 0、1 和 2。索引 3 超出了范围一步。
int[] nums = { 1, 2, 3 };
// nums[3] would throw IndexOutOfRangeException
Console.WriteLine(nums[2]); // safe: 3访问前进行检查
为避免程序崩溃,请在使用索引前检查它是否在有效范围内。
安全的索引必须大于或等于 0,且小于 Length。
int[] nums = { 1, 2, 3 };
int i = 5;
if (i >= 0 && i < nums.Length)
Console.WriteLine(nums[i]);
else
Console.WriteLine("Out of range");在计算中使用长度
由于 Length 只是一个整数,您可以在计算中使用它,例如查找中间索引。
这里我们计算数组的中心位置。
int[] nums = { 1, 2, 3, 4, 5 };
int mid = nums.Length / 2;
Console.WriteLine(nums[mid]); // 3长度只能读取
您不能更改 Length 来调整数组大小。数组创建后大小就是固定的。
如果需要不同的大小,您需要创建一个新数组。当大小必须增长时,List<T> 等集合会更合适。
int[] nums = { 1, 2, 3 };
// nums.Length = 5; // error: read-only
Console.WriteLine(nums.Length); // 3快速检查
测试您对索引和长度的理解。
回顾
您学会了按索引读取和更改元素,了解了索引从 0 开始,以及最后一个索引是 Length - 1。
Length 属性用于统计元素数量,^ 运算符用于从末尾开始计数,而超出范围会抛出异常。接下来,您将遍历每个元素。
用 AI 导师学习 C# — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 93
- 课程
- 346
常见问题解答
「索引与长度」课时是免费的吗?
是的 — 「索引与长度」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 C# Academy 课程的其余内容,请升级到 CoddyKit PRO。 C# Academy 课程共包含 4 节课。
「索引与长度」这节课中我会学到什么?
安全地访问元素。 你通过在浏览器中直接运行的动手代码来练习 C# Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 C# Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 C# Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「索引与长度」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 C# Academy 课中编写并运行代码吗?
能。每节 C# Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。