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#的其他数据结构,如集合和列表,以提升你的编程技能。