位置:首頁 > 高級語言 > C#教學 > C# ArrayList類

C# ArrayList類

它表示可單獨被索引的對象的有序集合。它基本上是一種替代數組。但是不像數組,可以在指定位置添加和刪除利用指數從列表中的項目,並且數組能自動調整本身大小。它也允許動態存儲器分配,添加,搜索和排序列表中的項目。

ArrayList類的方法和屬性

下表列出了一些ArrayList類的常用屬性:

屬性 描述
Capacity 獲取或設置ArrayList可以包含的元素數量
Count 獲取實際ArrayList中包含的元素數量
IsFixedSize 獲取一個用以指示ArrayList是否具有固定大小
IsReadOnly 獲取一個值,指示ArrayList是否為隻讀
Item 獲取或設置指定索引處的元素

下表列出了一些ArrayList類的常用方法:

S.N 方法名稱及用途
1 public virtual int Add( object value ); 
將對象添加到ArrayList的末尾
2 public virtual void AddRange( ICollection c ); 
增加一個元素ICollection到ArrayList的末尾
3 public virtual void Clear();
將刪除ArrayList中的所有元素
4 public virtual bool Contains( object item ); 
確定一個元素是否在ArrayList中
5 public virtual ArrayList GetRange( int index, int count ); 
返回一個ArrayList,它表示在源 ArrayList 中的元素的子集
6 public virtual int IndexOf(object);
返回ArrayList中或它的一部分值,第一次出現的從零開始的索引
7 public virtual void Insert( int index, object value ); 
將元素插入到ArrayList 指定索引處
8 public virtual void InsertRange( int index, ICollection c ); 
插入一個集合的元素融入到 ArrayList 中的指定索引處
9 public virtual void Remove( object obj ); 
將刪除ArrayList中特定第一次出現的對象
10 public virtual void RemoveAt( int index ); 
刪除 ArrayList 指定索引處的元素
11 public virtual void RemoveRange( int index, int count ); 
刪除ArrayList中某一範圍的元素
12 public virtual void Reverse();
反轉 ArrayList 元素的順序
13 public virtual void SetRange( int index, ICollection c ); 
副本的集合的在一定範圍內,在ArrayList中的元素的元素
14 public virtual void Sort();
排序ArrayList中的元素
15 public virtual void TrimToSize();
設置ArrayList中元素的實際數量

例子:

下麵的例子演示了這一概念:

using System;
using System.Collections;

namespace CollectionApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList al = new ArrayList();

            Console.WriteLine("Adding some numbers:");
            al.Add(45);
            al.Add(78);
            al.Add(33);
            al.Add(56);
            al.Add(12);
            al.Add(23);
            al.Add(9);
            
            Console.WriteLine("Capacity: {0} ", al.Capacity);
            Console.WriteLine("Count: {0}", al.Count);
                      
            Console.Write("Content: ");
            foreach (int i in al)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();
            Console.Write("Sorted Content: ");
            al.Sort();
            foreach (int i in al)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();
            Console.ReadKey();
        }
    }
}

讓我們編譯和運行上麵的程序,這將產生以下結果:

Adding some numbers:
Capacity: 8
Count: 7
Content: 45 78 33 56 12 23 9
Content: 9 12 23 33 45 56 78