声明数组
初始化
使用数组
int
[] numbers
=
{ 4, 5, 6, 1, 2, 3, -2, -1, 0 }
;
foreach
(
int
i
in
numbers)
{
System.Console.WriteLine(i);
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
int
[,] numbers2D
=
new
int
[
3
,
2
]
{ { 9, 99 }, { 3, 33 }, { 5, 55 } }
;
foreach
(
int
i
in
numbers2D)
{
System.Console.Write("{0} ", i);
}
使用Array 类操作数组
数组可以是一维、多维或交错的。
//声明一个一维数组
int[] array1 = new int[5];
// 声明并实例化一个一维数组
int[] array2 = new int[] { 1, 3, 5, 7, 9 };
// 声明并实例化一个一维数组(二)
int[] array3 = { 1, 2, 3, 4, 5, 6 };
// 声明一个二维数组
int[,] multiDimensionalArray1 = new int[2, 3];
// 声明并实例化一个二维数组
int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };
// 声明一个交错数组
int[][] jaggedArray = new int[6][];
// 交错数组赋值
jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
int[] array2 = new int[] { 1, 3, 5, 7, 9 };
// 声明并实例化一个一维数组(二)
int[] array3 = { 1, 2, 3, 4, 5, 6 };
// 声明一个二维数组
int[,] multiDimensionalArray1 = new int[2, 3];
// 声明并实例化一个二维数组
int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };
// 声明一个交错数组
int[][] jaggedArray = new int[6][];
// 交错数组赋值
jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
初始化
数组元素可以是任何类型,包括数组类型。
数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。
交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null。
可以在声明数组时将其初始化,在这种情况下不需要级别说明符,因为级别说明符已经由初始化列表中的元素数提供。
数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。
交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null。
可以在声明数组时将其初始化,在这种情况下不需要级别说明符,因为级别说明符已经由初始化列表中的元素数提供。
使用数组
通过下标索引获取数据
数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1。
数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1。
f
oreach 遍历数组
数组类型是从抽象基类型 Array 派生的引用类型。由于此类型实现了 IEnumerable 和 IEnumerable,因此可以对 C# 中的所有数组使用 foreach 迭代。
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
数组参数
数组可作为参数传递给方法。因为数组是引用类型,所以方法可以更改元素的值
使用Array 类操作数组
Array 类是支持数组的语言实现的基类。但是,只有系统和编译器能够从 Array 类显式派生。用户应当使用由语言提供的数组构造。
提供创建、操作、搜索和排序数组的方法,因而在公共语言运行库中用作所有数组的基类。
Array.Clear 方法 将 Array 中的一系列元素设置为零、false 或 空引用,具体取决于元素类型。
Array.Copy 方法 将一个 Array 的一部分元素复制到另一个 Array 中,并根据需要执行类型强制转换和装箱。
Array.ConvertAll 泛型方法 将一种类型的数组转换为另一种类型的数组
Array.CreateInstance 方法 初始化 Array 类的新实例。
Array.Exists 泛型方法 确定指定数组包含的元素是否与指定谓词定义的条件匹配。
Array.Find 泛型方法 搜索与指定谓词定义的条件匹配的元素,然后返回整个 Array 中的第一个匹配项。
Array.FindAll 泛型方法 检索与指定谓词定义的条件匹配的所有元素。
Array.Resize 泛型方法 将数组的大小更改为指定的新大小。
Array.Reverse 方法 反转一维 Array 或部分 Array 中元素的顺序
Array.Sort 方法 对一维 Array 对象中的元素进行排序。
Array.TrueForAll 泛型方法 确定数组中的每个元素是否都与指定谓词定义的条件匹配。
Array.GetLowerBound 获取 Array 中指定维度的下限
Array.GetUpperBound 获取 Array 的指定维度的上限。
Array.Copy 方法 将一个 Array 的一部分元素复制到另一个 Array 中,并根据需要执行类型强制转换和装箱。
Array.ConvertAll 泛型方法 将一种类型的数组转换为另一种类型的数组
Array.CreateInstance 方法 初始化 Array 类的新实例。
Array.Exists 泛型方法 确定指定数组包含的元素是否与指定谓词定义的条件匹配。
Array.Find 泛型方法 搜索与指定谓词定义的条件匹配的元素,然后返回整个 Array 中的第一个匹配项。
Array.FindAll 泛型方法 检索与指定谓词定义的条件匹配的所有元素。
Array.Resize 泛型方法 将数组的大小更改为指定的新大小。
Array.Reverse 方法 反转一维 Array 或部分 Array 中元素的顺序
Array.Sort 方法 对一维 Array 对象中的元素进行排序。
Array.TrueForAll 泛型方法 确定数组中的每个元素是否都与指定谓词定义的条件匹配。
Array.GetLowerBound 获取 Array 中指定维度的下限
Array.GetUpperBound 获取 Array 的指定维度的上限。