輕松進修C#的ArrayList類。本站提示廣大學習愛好者:(輕松進修C#的ArrayList類)文章只能為提供參考,不一定能成為您想要的結果。以下是輕松進修C#的ArrayList類正文
靜態數組ArrayList類在System.Collecions的定名空間下,所以應用時要參加System.Collecions定名空間,並且ArrayList供給添加,拔出或移除某一規模元素的辦法。在ArrayList中,用戶只能一次獲得或設置一個元素的值。
1、ArrayList元素的添加
ArrayList供給了兩種辦法用於向ArrayList添加元素,即Add和AddRange。
(1),Add辦法將單個元素添加到列表的尾部,其格局為:ArrayList 對象.Add(要添加的值)
(2),AddRange辦法獲得一個完成ICollection接口的聚集實例,並將這個聚集實例按次序添加到列表的尾部,其格局為:ArrayList 對象.AddRange(要添加的數組)
例1、經由過程上述的辦法對數組停止元素的添加和數組的添加
<span >using System; using System.Collections;//須要添加的定名空間 using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 靜態數組的應用 { class Program { static void Main(string[] args) { ArrayList al = new ArrayList(3);//界說的一個靜態數組且初始數組元素個數為3個 Console.WriteLine("未添加前al的元素個數為:"+al.Count); al.Add("abc"); al.Add("xyz"); al.Add("opq"); Console.WriteLine("挪用Add辦法後al的元素個數為:"+al.Count); string[] last = { "def", "ghj" }; al.AddRange(last); Console.WriteLine("挪用AddRange辦法後al的元素個數為:"+al.Count); foreach (string item in al) { Console.WriteLine(item); } Console.ReadLine(); } } }</span>
輸入的成果為:未添加前al的元素個數為:0
挪用Add辦法後al的元素個數為:3
挪用AddRange辦法後al的元素個數為:5
abc xyz opq def ghj(每行輸入一個)
2、ArrayList元素的刪除
ArrayList供給了四種辦法用於從ArrayList中刪除元素。這四種辦法是Remove,RemoveAt,RemoveRange辦法和Clear辦法。
Remove辦法接收一個object類型值的參數,用於移除指定元素值的第一個婚配聚集元素。其格局為:ArrayList 對象.Remove(值)
RemoveAt辦法接收一個int類型的參數,用於刪除指定索引的聚集元素。其格局為:ArrayList 對象.RemoveAt(索引)
RemoveRange辦法從聚集中移除必定規模的元素。其格局為: ArrayList 對象.RemoveRange(開端索引,要刪除的個數)
Clear辦法消除一切的元素。
例2、用上述的辦法完成對元素的刪除
<span >using System; using System.Collections;//須要添加的定名空間 using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 靜態數組的應用 { class Program { static void Main(string[] args) { ArrayList al = new ArrayList(3);//界說的一個靜態數組且初始數組元素個數為3個 al.Add("abc"); al.Add(50); al.Add(10); string[] last = { "def", "ghj" }; al.AddRange(last); Console.WriteLine("未刪除前al的元素個數為:" + al.Count); al.RemoveAt(2);//刪除索引為2後的元素 Console.WriteLine("刪除索引為2後的元素個數為:"+al.Count); al.Remove("abc");//刪除第一個值為abc的項 Console.WriteLine("刪除值為abc後的元素個數為:"+al.Count); al.RemoveRange(1,2);//刪除自索引為1的兩個元素 Console.WriteLine("刪除自索引為1的兩個元素後的元素個數:"+al.Count); foreach (string item in al)//由於此對象中的元素類型紛歧致所認為object類型 { Console.WriteLine(item); } Console.ReadLine(); } } }</span>
輸入的成果為:未刪除前al的元素個數為:5
刪除索引為2後的元素個數為:4
刪除值為abc後的元素個數為:3
刪除自索引為1的兩個元素後的元素個數:1
xyz
3、ArrayList元素的查找
ArrayList元素的查找供給了三個辦法查找ArrayList中的元素,分離是IndexOf辦法,LastindexOf辦法和BinarySearch辦法。
(1)、IndexOf辦法早年後搜素指定的字符串,假如找到,前往婚配的第一項的自0開端的索引,不然前往-1。其格局為:ArrayList 對象.IndexOf(要索引的字符串)
(2)、LastIndexOf辦法從後向前搜素指定的字符串,假如找到,前往婚配的最初一項自0開端的索引,不然前往-1.其格局為:ArrayList 對象.LastIndexOf(要索引的字符串)
以上兩個辦法都有三個重載版本,表現從指定的索引處開端搜刮或許是從指定索引處搜素指定長度的字符串。
(3)、BinarySearch辦法應用二分算法從聚集中指定的值,並前往找到的從0開端的索引,不然前往-1,其格局為:ArrayList 對象.BinarySearch(要索引的字符串)
例3、應用上述的辦法查找指定的元素
<span >using System; using System.Collections;//須要添加的定名空間 using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 靜態數組的應用 { class Program { static void Main(string[] args) { string[] str = { "a", "b", "c", "d", "d", "e", "f" }; ArrayList al = new ArrayList(str); int i = al.IndexOf("c");//查找第一個字符c在數組中的地位 Console.WriteLine("元素c在聚集中的地位是:"+i); i = al.LastIndexOf("d");//查找最初一個字符d在數組中的地位 Console.WriteLine("元素d在聚集中的地位是:" + i); int j = al.BinarySearch("f");//查找元素f在數組中的地位 if (j>0) { Console.WriteLine("元素f在數組中的地位是:"+j); } else { Console.WriteLine("沒有找到a"); } Console.ReadLine(); } } }</span>
輸入的成果為:元素c在聚集中的地位是:2
元素d在聚集中的地位是:3
元素f在數組中的地位是:5
4、ArrayList元素的遍歷
在履行上述法式的進程中曾經應用foreach語句停止ArrayList元素的遍歷,在這裡就不再舉例停止解釋。
以上就是關於C#的ArrayList類的相干引見,願望對年夜家的進修有所贊助。