跳到主要内容

C# 数组基础

介绍

数组是C#中最基本的数据结构之一,用于存储相同类型的多个元素。数组的大小在创建时固定,无法动态调整。数组的每个元素可以通过索引访问,索引从0开始。数组在编程中非常常见,适用于存储和处理大量数据。

数组的声明与初始化

在C#中,数组可以通过以下方式声明和初始化:

1. 声明数组

声明数组时,需要指定数组的类型和大小。例如:

csharp
int[] numbers;

这里声明了一个名为 numbers 的整数数组,但尚未分配内存。

2. 初始化数组

数组可以通过以下方式初始化:

csharp
int[] numbers = new int[5]; // 创建一个包含5个整数的数组

或者,可以在声明时直接初始化数组的元素:

csharp
int[] numbers = new int[] { 1, 2, 3, 4, 5 };

也可以省略 new int[],直接使用以下语法:

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

访问数组元素

数组的元素可以通过索引访问,索引从0开始。例如:

csharp
int[] numbers = { 10, 20, 30, 40, 50 };
Console.WriteLine(numbers[0]); // 输出: 10
Console.WriteLine(numbers[2]); // 输出: 30
警告

注意:如果尝试访问超出数组范围的索引,将会抛出 IndexOutOfRangeException 异常。

数组的长度

可以使用 Length 属性获取数组的长度:

csharp
int[] numbers = { 1, 2, 3, 4, 5 };
Console.WriteLine(numbers.Length); // 输出: 5

遍历数组

可以使用 for 循环或 foreach 循环遍历数组:

使用 for 循环

csharp
int[] numbers = { 1, 2, 3, 4, 5 };
for (int i = 0; i < numbers.Length; i++)
{
Console.WriteLine(numbers[i]);
}

使用 foreach 循环

csharp
int[] numbers = { 1, 2, 3, 4, 5 };
foreach (int number in numbers)
{
Console.WriteLine(number);
}
提示

foreach 循环更简洁,适合不需要索引的场景。

多维数组

C#支持多维数组,最常见的是二维数组。二维数组可以看作是一个表格,有行和列。

声明和初始化二维数组

csharp
int[,] matrix = new int[3, 3]; // 创建一个3x3的二维数组

也可以在声明时直接初始化:

csharp
int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

访问二维数组元素

csharp
int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
Console.WriteLine(matrix[1, 2]); // 输出: 6

实际应用案例

案例1:计算数组的平均值

csharp
int[] numbers = { 10, 20, 30, 40, 50 };
int sum = 0;
foreach (int number in numbers)
{
sum += number;
}
double average = (double)sum / numbers.Length;
Console.WriteLine("平均值: " + average); // 输出: 平均值: 30

案例2:查找数组中的最大值

csharp
int[] numbers = { 10, 20, 30, 40, 50 };
int max = numbers[0];
for (int i = 1; i < numbers.Length; i++)
{
if (numbers[i] > max)
{
max = numbers[i];
}
}
Console.WriteLine("最大值: " + max); // 输出: 最大值: 50

总结

数组是C#中非常重要的数据结构,用于存储和操作相同类型的多个元素。通过本教程,你学会了如何声明、初始化、访问和遍历数组,以及如何使用数组解决实际问题。

备注

数组的大小是固定的,如果需要动态调整大小,可以考虑使用 List<T> 集合。

附加资源与练习

  • 练习1:创建一个字符串数组,存储一周的七天,并打印出来。
  • 练习2:编写一个程序,计算一个整数数组中所有偶数的和。
  • 练习3:创建一个二维数组,表示一个3x3的矩阵,并计算其对角线元素的和。

通过练习,你将更好地掌握数组的使用方法。继续深入学习C#的其他数据结构,如集合和列表,以提升你的编程技能。