跳转至

数组基础#

数组是一个用来存储相同类型数据的、固定大小的连续内存空间。当需要管理多个同类型数据时(如一个班 60 人的成绩),使用数组比逐个声明变量更高效。

数组是引用类型:变量在栈中保存的是一个地址,实际数据存储在堆中。

数组的声明#

数组的声明类似于变量声明,但需要加上 [] 表示数组。

int a;          // 普通变量
int[] ints;     // 声明了一个名为 ints 的存储整型数据的数组
char[] chars;   // 字符数组

数组的初始化#

格式数据类型[] 变量名 = new 数据类型[长度];

// 方式一:new 指定长度(长度是几,就有多少数据)
int[] ints = new int[5];

// 方式二:new + 初始值(长度多少写多少)
string[] names1 = new string[3] { "张三", "李四", "王五" };

// 方式三:省略长度(写了初始值可省略数字)
string[] names2 = new string[] { "张三", "李四", "王五" };

// 方式四:写了初始值可省略 new
string[] names3 = { "张三", "李四", "王五" };

注意:数组一旦初始化,就会在内存中产生一块空间,空间大小由 [] 里的长度决定,然后使用该类型的默认值填充这个空间(int → 0,string → null,bool → false)。

数组的操作#

1. 索引访问#

数组下标从 0 开始。语法:变量名[索引位置]

int[] ints1 = new int[10];
int i = ints1[0];        // 索引第一个数据
Console.WriteLine(i);    // 输出 0(默认值)

2. 设置值#

int[] ints = new int[10];
ints[9] = 8;             // 第 10 位(索引 9)的值设置成 8

3. 遍历数组#

int[] num01 = { 1, 2, 3, 4, 5 };

// for 遍历(可修改值)
for (int i = 0; i < num01.Length; i++)
{
    Console.WriteLine(num01[i]);
}

// foreach 遍历(只读)
foreach (int i in num01)
{
    Console.WriteLine(i);   // i 表示数组中的每一项数据
}

相关笔记#