ArrayList就是實現了IList, ICollection, IEnumerable, ICloneable這幾個接口的動態數組。即使.NetFramwork提供了一些更耐用更受歡迎的新的類,ArrayList仍然十分有用。下面是一些在C#中使用ArrayList的實例,一起看看其基本用法和一些高級用法。
添加元素
在使用ArrayList的每個程序中基本都會用到其Add方法。該方法追加一個元素對象至ArrayList的末端。在內存允許的情況下,你可以持續的向這個集合中添加元素,其元素以堆的形式進行存儲。見下示例。
ArrayList類中元素的存儲為Object類型,這意味著,ArrayList對象原則上可以接受.NET中的任何值,在存儲或檢索值類型時通常發生裝箱和拆箱。見下示例。
將一個ArrayList添加至另一個ArrayList
有多種不同的方法可以將一個ArrayList添加至另一個ArrayList,但是最優的是使用AddRange方法。在.NET Framework內部,AddRange使用Array.Copy或CopyTo方法,相比一些循環,能夠有更好的性能表現。如下示例。
ArrayList的Count屬性和Clear方法
ArrayList類提供了一個虛屬性——Count,當使用Count屬性時,實際上並不是對ArrayList對象中的元素個數予以計算,而是直接返回一個緩存字段值,這意味著使用該屬性獲取元素的數量速度非常之快。所以一般在程序中直接獲取其Count屬性予以使用,而不必將該屬性的值取出來存儲在另一個變量中。
ArrayList類的Clear方法用於移除其所有元素。在在.NET Framework內部,它調用了Array.Clear方法。有些時候,相比與清除原ArrayList對象的所有元素,直接創建一個新的ArrayList對象,代碼看起來可能會更整潔一些。
ArrayList的Sort和Reserve方法
可以利用Sort方法對ArrayList或它的一部分元素進行排序,默認是升序排序。前面提到過ArrayList中可以接受不同類型的值,但是如果要使用Sort方法,必須保證進行排序的那部分元素是同一數據類型。換句話說,ArrayList中有不同類型的元素時,仍然可以使用Sort方法對其一部分元素進行排序,但這時必須指定該部分元素的范圍。
Reserve方法的使用方法與Sort類似,用於倒置ArrayList或它的一部分元素的順序。對於ArrayList中不同類型的元素的處理方式同Sort方法
作者:韓 鎖 出處:http://www.cnblogs.com/hans_gis/