Welcome

首页 / 软件开发 / C# / (教学思路 C#数组三)数组的常用方法例题,复习数组

(教学思路 C#数组三)数组的常用方法例题,复习数组2011-07-16 博客园 叶子文文本节我们通过数组的常用方法对数组进行操作,同时留几道数组的练习题复习数组。

数组的常用方法

上一节我提到了方法就是 对象所具有的功能,一般是动词,比如抹布清除灰尘,清除就是它的功能,同样数组也有各种功能方法,比如清空、查找、排序等,这三个方 法是本节的学习重点,我会逐一讲解。首先,我们来学习一下

数组的清空Array.Clear(Arrayname, int index, int length);

(操作的数组名,起始索引,清除元素的长度)

看下面的例子

int[] arr = new int[] {1,2,3,4,5};
foreach (int i in arr)
{
Console.WriteLine(i);
}
Array.Clear(arr, 1, 2);
Console.WriteLine (“从1号索引开始清除2个元素后的数组长度"+arr .Length );
foreach (int i in arr)
{
Console.Write(i+" ");
}

提问:同学们想一下结果输出是什么样子的?结果是:从1号索引开始清除2个元 素后的数组长度5

1 0 0 4 5.

而不是1 4 5。原因是什么呢?这是由于数组的特性,数组的大小一旦初始化了就已经确 定了,因此数组元素的清空只是将部分元素设置回了0、False或Null,这和数组元素的类型有关,但是数组的长度依然没有变化。

接下 来我们来学习一下数组的查找

Array.IndexOf(Array,obj);查找arr数组中第一个出现obj元素的索引

Array.LastIndexOf (arr,obj);查arr找数组中最后一个出现obj元素的索引

int[] arr = new int[] { 3, 2, 1, 5,2 ,4};
foreach (int i in arr)
{
Console.WriteLine(i);
}
int z=Array.IndexOf(arr, 2);
int j=Array.LastIndexOf(arr,2);
Console.Write("第一次出现2的索引位:"+z);
Console.WriteLine("最后一次出现2的索引位:" +j);

结果是 第一次出现2的索引位:1 最后一次出现2的索引位:5 结果与事实吻合,c#提供的Array.IndexOf和 Array.LastIndexOf方法还提供了两种方法:

Array.IndexOf(Array,obj,beginIndex);开始查询的索引位。

Array.IndexOf (Array,obj,beginIndex,count);起始查询的索引位,索引往大的方向累加查询数。

Array.LastIndexOf(Array,obj,beginIndex);开始 查询的索引位。

Array.LastIndexOf(Array,obj,beginIndex,count);起始查询的索引位,索引往小的方向累加查询数。

接着上 面的例子

Console.WriteLine("从1号索引位开始的往大的索引数4个元素中第一次出现2的索引位:" + b);

Console.WriteLine("从4号索引位开始的往小的索引数4个元素中最后一次出现2的索引位:" + l);

运行结果为 :