Skip to content
On this page

访问数组元素

上一节我们学习了数组的声明和初始化,以及数组元素的访问方法。其实,C#中数组元素有多种初始化方式,请看下例:

img

上例中,数组 a 的初始化方式我们已经学习过了;数组 b、c、d 是在初始化时为数组元素指定初始值,请注意数组 d 用 [3] 声明了数组长度,后面 { } 中的初始值个数要与 [ ] 中声明的长度相同。数组 b、c 初始化没有声明长度,长度由 { } 中的初始值个数确定。

上一节我们还学习了数组的一个属性 Length ,Length 能够返回数组的长度,利用它和数组元素的索引,我们可以循环访问每一元素。上一节中打印名字的代码,可以这样改进:

img

Length 属性返回数组的长度,如上例中,数组长度为 3,Length 就返回 3,即循环变量 i 从 0 循环到 2。为什么不循环到 3 呢?因为数组元素的索引是从 0 开始的呀!长度为 3 的数组,索引为 0 - 2。

通过上例,我们看到,使用数组就能循环访问一组相同类型的变量了,是不是比使用单个变量要轻松呢?

任务

右边代码声明并初始化一个 string 数组存储“职位”,请完成第 12 行的代码,将数组元素初始化为"经理","项目主管","技术总监","财务主管"。

请在第 13 行填入循环条件,使得循环能够访问到所有的元素。

代码

csharp
using System;
using System.Collections.Generic;
using System.Text;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            //声明“职位”数组,初始化为:"经理","项目主管","技术总监","财务主管" 
            string[] job = new string[] {"经理","项目主管","技术总监","财务主管"};
            for (int i = 0; i < job.Length; i++)
            {
                Console.WriteLine(job[i]);//打印职位
            }
        }
    }
}

编程练习

数组,可以用来存储相同类型的多个数值。声明并初始化数组的语法:

数据类型[] 数组名 = new 数据类型[]{初始值 1,初始值 2,...初始值 3};

数组元素用索引来区分,索引从 0 开始。

数组的 Length 属性返回数组的长度,即数组元素的个数。

任务 1

《三国演义》中,蜀国“五虎上将”是:关羽、张飞、赵云、马超、黄忠。

请用数组保存五虎上将的名字,然后循环打印。打印结果如下:

关羽, 张飞, 赵云, 马超, 黄忠,

代码 1

csharp
using System;
using System.Collections.Generic;
using System.Text;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
           //请在这里完善代码 
           string[] name = new string[] {"关羽", "张飞", "赵云", "马超", "黄忠"};
           for (int i = 0; i < name.Length; ++i) {
               Console.Write($"{name[i]}, ");
           }
        }
    }
}