声明数组和赋值
编程中有这样一种情形:我们需要存储多个同类型数据。比如,保存 1600 个学生的年龄。是否需要声明 1600 个 int 类型的变量?过了一年,学生们长了 1 岁,是否需要给每个变量重新赋值?这件事情,想想就怕怕。好在 C#中有一种数组,专门存储一组相同类型的数据。数组的声明和初始化语法如下:
数据类型[] 数组名 = new 数据类型[长度];
注意
- 数组名像变量名一样要遵循标识符的命名规则;
- 长度必须是整数
下面我们来比较变量和数组的声明与初始化,右边是在内存中为变量和数组分配空间的示意:

对比变量 x 和数组 y 就会发现,数组 y 中其实包含了 3 个 double 类型的变量,为什么是 3 个?因为初始化数组时在 [ ] 中声明的长度为 3。既然都在数组 y 中,所以 3 个变量(应该叫数组元素)的名字都叫 y,为了区分它们,按照顺序给它们加上索引 [0]、[1]、[2] 。
注意
数组的索引从 0 开始递增。
那么,数组 y 中 3 个元素的名字就变成了 y[0]、y[1]、y[2] 。
注意
数组经过初始化以后,数组元素有默认的初始值.
double类型为 0.0int类型为 0char类型为 'a'bool类型为 falsestring类型为 null
数组元素的赋值与普通变量相同。下面的示例中,我们声明了一个长度为 3 的 string 类型数组,逐个赋值,然后打印:

上例中,需要注意的是元素的索引,数组元素索引从 0 开始递增,所以长度为 3 的数组,其元素索引为 [0]、[1]、[2] 。
如何知道一个数组的长度呢? 数组.Length 属性会返回数组的长度(即数组元素的个数)。请看下面的例子:

代码中的 friends.Length 会返回 friends 数组的长度,请看运行结果:
任务
使用数组,比较容易出错的是数组的长度和元素索引,请在右边代码的第 11 行插入代码,完成数组初始化;在第 13、14、15、16 行填写元素索引完成赋值;在第 18 行填写索引,完成输出。
代码
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]);
}
}
}