Skip to content
On this page

声明数组和赋值

编程中有这样一种情形:我们需要存储多个同类型数据。比如,保存 1600 个学生的年龄。是否需要声明 1600 个 int 类型的变量?过了一年,学生们长了 1 岁,是否需要给每个变量重新赋值?这件事情,想想就怕怕。好在 C#中有一种数组,专门存储一组相同类型的数据。数组的声明和初始化语法如下:

数据类型[] 数组名 = new 数据类型[长度];

注意

  • 数组名像变量名一样要遵循标识符的命名规则;
  • 长度必须是整数

下面我们来比较变量和数组的声明与初始化,右边是在内存中为变量和数组分配空间的示意:

img

对比变量 x 和数组 y 就会发现,数组 y 中其实包含了 3 个 double 类型的变量,为什么是 3 个?因为初始化数组时在 [ ] 中声明的长度为 3。既然都在数组 y 中,所以 3 个变量(应该叫数组元素)的名字都叫 y,为了区分它们,按照顺序给它们加上索引 [0]、[1]、[2] 。

注意

数组的索引从 0 开始递增

那么,数组 y 中 3 个元素的名字就变成了 y[0]、y[1]、y[2] 。

注意

数组经过初始化以后,数组元素有默认的初始值.

  • double 类型为 0.0
  • int 类型为 0
  • char 类型为 'a'
  • bool 类型为 false
  • string 类型为 null

数组元素的赋值与普通变量相同。下面的示例中,我们声明了一个长度为 3 的 string 类型数组,逐个赋值,然后打印:

img

上例中,需要注意的是元素的索引,数组元素索引从 0 开始递增,所以长度为 3 的数组,其元素索引为 [0]、[1]、[2] 。

如何知道一个数组的长度呢? 数组.Length 属性会返回数组的长度(即数组元素的个数)。请看下面的例子:

img

代码中的 friends.Length 会返回 friends 数组的长度,请看运行结果:

img

任务

使用数组,比较容易出错的是数组的长度和元素索引,请在右边代码的第 11 行插入代码,完成数组初始化;在第 13、14、15、16 行填写元素索引完成赋值;在第 18 行填写索引,完成输出。

代码

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

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] age = new int[4]; //声明并初始化长度为 4 的整形数组 
            // 为数组元素赋值
            age[0] = 18;
            age[1] = 20;
            age[2] = 23;
            age[3] = 17;
            Console.WriteLine("四名同学的年龄是:{0}、{1}、{2}、{3}",
                age[0],age[1],age[2],age[3]);
        }
    }
}