本節我們通過數組的常用方法對數組進行操作,同時留幾道數組的練習題復習數組。
數組的常用方法
上一節我提到了方法就是 對象所具有的功能,一般是動詞,比如抹布清除灰塵,清除就是它的功能,同樣數組也有各種功能方法,比如清空、查找、排序等,這三個方 法是本節的學習重點,我會逐一講解。首先,我們來學習一下
數組的清空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);
運行結果為 :