C# 数组(Array)
C# 中的数组是一种数据结构,用于存储一系列具有相同数据类型的元素。数组在内存中连续存储元素,这使得数组在访问元素时非常高效。在 C# 中,数组可以是单维的,也可以是多维的。此外,C# 还支持交错数组,即数组的数组。
单维数组
单维数组是最简单的数组类型,它包含一个线性元素列表。在 C# 中,声明单维数组的基本语法如下:
datatype[] arrayName = new datatype[size];
其中 datatype
是数组元素的数据类型,size
是数组的长度,即数组中元素的个数。
示例
int[] numbers = new int[5];
这个例子创建了一个名为 numbers
的整数数组,它有 5 个元素。
初始化数组
在声明数组的同时,可以对其初始化:
int[] numbers = new int[5] { 1, 2, 3, 4, 5 };
或者更简单地:
int[] numbers = { 1, 2, 3, 4, 5 };
访问数组元素
可以通过索引来访问数组的元素,索引从 0 开始:
int firstNumber = numbers[0]; // firstNumber = 1
int secondNumber = numbers[1]; // secondNumber = 2
修改数组元素
可以直接通过索引来修改数组中的元素:
numbers[0] = 10;
多维数组
多维数组是数组的数组,它可以看作是数组的矩阵。在 C# 中,声明多维数组的基本语法如下:
datatype[,] arrayName = new datatype[dimension1, dimension2];
示例
int[,] matrix = new int[3, 3];
这个例子创建了一个 3x3 的整数矩阵。
初始化多维数组
多维数组也可以在声明时初始化:
int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
访问多维数组元素
访问多维数组元素时,需要指定每个维度的索引:
int element = matrix[0, 1]; // element = 2
交错数组
交错数组是数组的数组,其中每个元素本身也是一个数组。交错数组的每一行可以有不同的长度。声明交错数组的基本语法如下:
datatype[][] arrayName = new datatype[dimension1][];
示例
int[][] jaggedArray = new int[3][];
这个例子创建了一个包含 3 个元素的交错数组,每个元素是一个整数数组。
初始化交错数组
交错数组可以在声明时初始化:
int[][] jaggedArray = new int[][]
{new int[] { 1, 3, 5, 7, 9 },new int[] { 0, 2, 4, 6 },new int[] { 11, 22 }
};
访问交错数组元素
访问交错数组元素时,需要指定外层数组和内层数组的索引:
int element = jaggedArray[0][1]; // element = 3
数组的方法和属性
C# 提供了多种方法和属性来操作数组,例如:
Length
属性:获取数组的长度。Rank
属性:获取数组的维度数。GetLength()
方法:获取指定维度的长度。GetEnumerator()
方法:获取数组的枚举器。
结论
数组是 C# 中非常基础和重要的数据结构,用于存储和操作数据集合。了解数组的声明、初始化、访问和操作方法对于 C# 编程至关重要。