📜  数组数组 - C# (1)

📅  最后修改于: 2023-12-03 14:55:00.786000             🧑  作者: Mango

数组数组 - C#

在 C# 中,数组是一种特殊的数据类型,可以在单个变量中存储多个值。数组是由一系列相同类型的元素组成的,每个元素都可以通过数组索引访问。

创建数组

在 C# 中,可以使用以下语法来声明数组变量和创建数组:

// 声明数组变量
int[] myArray;

// 创建数组
myArray = new int[5];

上面的代码声明了一个名为 myArray 的整型数组变量,并在堆上分配了 5 个整型元素的空间。注意,C# 中变量名通常使用骆驼拼写法,第一个单词小写,后面单词首字母大写。

此外,还可以使用以下语法来声明和初始化数组:

// 声明并初始化数组
int[] myArray = new int[] { 1, 2, 3, 4, 5 };

// 省略数组大小
int[] myArray = new int[] { 1, 2, 3, 4, 5 };

上面的代码分别声明了一个名为 myArray 的整型数组变量,并将其初始化为 1、2、3、4、5 这五个整数。第二个例子省略了数组大小,由编译器自动计算大小。

访问数组元素

在 C# 中,可以使用方括号 [] 来访问数组元素。下面的代码演示如何访问数组中的元素:

int[] myArray = new int[] { 1, 2, 3, 4, 5 };
Console.WriteLine(myArray[0]); // 输出 1
Console.WriteLine(myArray[1]); // 输出 2
Console.WriteLine(myArray[2]); // 输出 3
Console.WriteLine(myArray[3]); // 输出 4
Console.WriteLine(myArray[4]); // 输出 5

上面的代码输出了数组中各个元素的值。注意,数组的索引从 0 开始,因此第一个元素的索引为 0,最后一个元素的索引等于数组大小减去 1。

多维数组

除了一维数组外,C# 还支持多维数组。下面的代码演示了如何声明和初始化一个二维数组:

// 声明并初始化二维数组
int[,] myArray = new int[,]
{
    {1, 2},
    {3, 4},
    {5, 6}
};

// 访问二维数组元素
Console.WriteLine(myArray[0, 0]); // 输出 1
Console.WriteLine(myArray[1, 0]); // 输出 3
Console.WriteLine(myArray[2, 1]); // 输出 6

上面的代码声明了一个名为 myArray 的二维整型数组变量,并将其初始化为一个具有 3 行 2 列的数组。可以使用 [i, j] 的方式来访问数组中的元素。

遍历数组

在 C# 中,可以使用 for 循环来遍历数组。下面的代码演示如何遍历一个一维数组:

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

上面的代码输出了数组中各个元素的值。注意,Length 属性可以用来获取数组的大小。

对于多维数组,可以使用嵌套的 for 循环来遍历数组。下面的代码演示如何遍历一个二维数组:

int[,] myArray = new int[,]
{
    {1, 2},
    {3, 4},
    {5, 6}
};
for (int i = 0; i < 3; i++)
{
    for (int j = 0; j < 2; j++)
    {
        Console.WriteLine("myArray[{0}, {1}] = {2}", i, j, myArray[i, j]);
    }
}

上面的代码输出了数组中各个元素的值,以及它们的索引。注意,由于数组的大小在代码中被显式指定,因此可以使用常量数字代替 myArray.GetLength(0)myArray.GetLength(1)

数组的方法

C# 中的数组还有一些有用的方法,例如 Array.CopyArray.SortArray.Reverse。下面的代码演示如何使用这些方法:

int[] myArray1 = new int[] { 1, 2, 3, 4, 5 };
int[] myArray2 = new int[5];

// 复制数组
Array.Copy(myArray1, myArray2, myArray1.Length);
// 排序数组
Array.Sort(myArray2);
// 反转数组
Array.Reverse(myArray2);

// 输出数组
for (int i = 0; i < myArray2.Length; i++)
{
    Console.WriteLine(myArray2[i]);
}

上面的代码复制了一个一维数组到另一个一维数组,并对其进行了排序和反转。注意,Array.Copy 方法的第一个参数是源数组,第二个参数是目标数组,第三个参数是要复制的元素个数。而 Array.SortArray.Reverse 方法直接对数组进行操作,不需要额外的参数。

总结

数组是 C# 中一种非常有用的数据类型,可以用来存储一组相同类型的值。可以使用方括号 [] 和索引来访问元素,使用 for 循环来遍历数组,使用 Array.CopyArray.SortArray.Reverse 等方法来操作数组。在多维数组中,可以使用嵌套的 for 循环来遍历数组。