一、数组的概念和基本语法
数组是一种数据结构,用来存储同一类型的一组数据。C#中,声明数组时可以指定其长度,也可以直接初始化数据。基本语法如下:
// 声明数组 int[] intArray; // 初始化数组 int[] intArray1 = new int[5]; // 通过指定长度初始化 int[] intArray2 = new int[] { 1, 2, 3, 4, 5 }; // 直接初始化数据 int[] intArray3 = { 1, 2, 3, 4, 5 }; // 省略 new int[],直接初始化数据
上面代码中,intArray1 是一个长度为 5 的 int 数组,其元素默认初始化为 0;intArray2 和 intArray3 分别通过指定初始化和直接初始化方式初始化了一个相同的 int 数组。
二、多维数组
在 C# 中,可以声明多维数组来存储更加复杂的数据。
// 声明二维数组 int[,] int2DArray; // 初始化二维数组 int[,] int2DArray1 = new int[3, 4]; int[,] int2DArray2 = new int[,] { { 1, 2, 3 }, { 4, 5, 6 } }; int[,] int2DArray3 = { { 1, 2, 3 }, { 4, 5, 6 } };
上面代码中,int2DArray1 是一个 3 行 4 列的二维 int 数组,其元素默认初始化为 0;int2DArray2 和 int2DArray3 分别通过指定初始化和直接初始化方式初始化了一个相同的二维 int 数组。
三、数组的遍历
在 C# 中,可以使用 for 循环或 foreach 循环遍历数组。
// for 循环遍历数组 for (int i = 0; i < intArray.Length; i++) { Console.WriteLine(intArray[i]); } // foreach 循环遍历数组 foreach (int i in intArray) { Console.WriteLine(i); }
上面代码中,两种循环遍历方式都可以遍历 intArray 数组中的元素。
四、数组的排序
在 C# 中,可以使用 Sort() 方法对数组进行排序。排序方式包括升序和降序。
// 升序排序 Array.Sort(intArray); // 降序排序 Array.Sort(intArray); Array.Reverse(intArray);
上面代码中,Array.Sort() 方法会将 intArray 数组进行升序排序;而在进行降序排序时,先调用 Array.Sort() 排序方法,然后再通过 Array.Reverse() 方法将排序后的数组进行逆序。
五、数组的复制和截取
在 C# 中,可以使用 Copy() 方法复制数组。同时,可以使用 CopyTo() 方法将数组复制到其他数组中,或者使用 Array.Copy() 方法进行复制。
// 复制数组 int[] intArrayCopy = (int[])intArray.Clone(); // 将数组复制到其他数组中 int[] intArrayCopyTo = new int[intArray.Length]; intArray.CopyTo(intArrayCopyTo, 0); // 使用 Array.Copy() 进行复制 int[] intArrayCopy2 = new int[intArray.Length]; Array.Copy(intArray, intArrayCopy2, intArray.Length);
上面代码中,使用 Clone() 方法复制了 intArray 数组,生成了一个新数组 intArrayCopy。同时,还可以将 intArray 数组复制到 intArrayCopyTo 和 intArrayCopy2 两个数组中。
此外,C# 还支持使用 SubArray() 方法对数组进行截取,也可以使用 Array.Copy() 将数组的一部分复制到新的数组中。
// 截取数组 int[] intArraySub = intArray.Skip(2).Take(3).ToArray(); // 将数组的一部分复制到新的数组中 int[] intArrayCopyPart = new int[3]; Array.Copy(intArray, 2, intArrayCopyPart, 0, 3);
六、总结
本文主要从数组的概念和基本语法、多维数组、数组的遍历、排序、复制和截取等多个方面对 C# 初始化数组进行了详细的阐述。相信通过本文的介绍,读者对 C# 数组的使用会更加熟练和自如。