C#Array类的常⽤属性和⽅法
Array类提供创建、操作、搜索和排序数组的⽅法,它属于 命名空间System,是⽀持数组语⾔实现的基类。
Array类中⼀个元素就是Array中的⼀个值;Array的长度是它 可包含的元素总数;Array的秩是Array中的维数;Array中维 度的下限是Array中该维度的起始索引,多维Array的各个维 度可以有不同的界限。数组最多可以有32个维。
write的返回值
Array类中提供了⼀些常⽤的属性和⽅法,可以帮助程序员 提⾼数组操作的效率。
1.Array类的常⽤属性
①Length和longLength
这两个属性返回⼀个 32 位整数或64位整数,该整数表⽰ Array的所有维度中元素的总数。
int[,] A=new int[10,3];
Console.Write(A.Length);//输出30
②Rank
Rank属性获取Array的从零开始的秩(维数)。
int[,,] A=new int[10,3,5];
Console.Write(A.Rank);//输出3
2.Array类的常⽤⽅法
①Clear
Clear⽅法将Array中的⼀系列元素设置为0、false或null,具 体取决于数组元素的数据类型。
int[,] A=new int[2,3]{{1,2,3},{4,5,6}};
Array.Clear(A,0,4);//将数组A中从下标为0开始的连续4个元素设置为0
foreach(int i in A)  Console.Write("{0} ", i);//输出0 0 0 0 5 6
②Copy
Copy⽅法有多种重载⽅式,实现从第⼀个元素或指定位置 开始复制 Array 中的⼀系列元素,并将它们粘贴为另⼀个 Array中从第⼀个元素开始或从指定位置开始的⼀系列元素。
int[,] A=new int[2,3]{{1,2,3},{4,5,6}};
int[,] B =new int[3,5];
Array.Copy(A,B,6);//将A从第⼀个元素开始的连续6个元素复制到B中
foreach(int i in B)
Console.Write("{0} ",i);//输出1 2 3 4 5 6 0 0 0 0 0 0 0 0 0
③GetLength
GetLength⽅法获取⼀个 32 位整数,该整数表⽰ Array 的指 定维中的元素数。
int[,] A=new int[2,3]{{1,2,3},{4,5,6}};
Console.WriteLine(A.GetLength(0));//输出2,即A包括2个⼦数组
Console.WriteLine(A.GetLength(1));//输出3,即A的⼦数组包括3个
④GetLowerBound和GetUpperBound
这两个⽅法获取Array的指定维度的下限和上限。
int[,] A=new int[2,3]{{1,2,3},{4,5,6}};
Console.WriteLine(A.GetLowerBound(0));//输出0
Console.WriteLine(A.GetUpperBound(0));//输出1
⑤IndexOf
在⼀维数组中搜索指定数据,并返回数组中第⼀个匹配项的 索引,查不成功时返回值为该数组的下标下限减 1。
int[] A=new int[6]{1,2,3,4,5,6};
Console.WriteLine(Array.IndexOf(A,5));//输出4
Console.WriteLine(Array.IndexOf(A,10));//输出-1
⑥LastIndexOf
在⼀维数组中搜索指定数据,并返回数组中最后⼀个匹配项 的索引,查不成功时返回值为该数组的下标下限减 1。
int[] A=new int[6]{1,5,3,4,5,6};
Console.WriteLine(Array.LastIndexOf(A,5));//输出4
Console.WriteLine(Array.LastIndexOf(A,10));//输出-1
⑦ Reverse
该⽅法反转整个⼀维 Array 中元素的顺序。
int[] A=new int[6]{1,2,3,4,5,6};
Array.Reverse(A);//调⽤Reverse⽅法进⾏数组元素反转 f
oreach (int i in A)
Console.Write("{0} ",i);//输出6 5 4 3 2 1
⑧Sort
Sort⽅法实现对⼀维数组的元素排序。
int[] A=new int[6]{6,2,5,1,3,4};
Array.Sort(A);//调⽤Sort⽅法对数组排序
foreach(int i in A)
Console.Write("{0} ",i);//输出1 2 3 4 5 6

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。